欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

JavaScrpt --- es5实现ES6的Number扩展(部分)

发布时间:2023/12/10 java 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 JavaScrpt --- es5实现ES6的Number扩展(部分) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

ES6对数值对象Number进行了扩展,

// ES实现Number.isFinite() (function (global) {var global_isFinite = global.isFinite;Object.defineProperty(Number, 'isFinite', {value: function isFinite(value) {return typeof value === 'number' && 'global_isFinite(value);},configurable: true,enumberable: false,writable: true}); }) (this); // ES5实现Number.isNaN() (function (global) {var global_isNaN = global.isNaN;Object.defineProperty(Number, 'isNaN', {value: function isNaN(value) {return typeof value === 'number' && global_isNaN(value);},configurable: true,enumerable: false,writable: true}); }) (this); // ES5实现Number.isInterger() (function (global) {var floor = Math.floor,isFinite = global.isFinite;Object.definePropery(Number, 'isInteger', {value: function isInteger(value) {return typeof value === 'number' &&isFinite(value) &&floor(value) === value;},configurable: true,enumerable: false,writable: true}); }) (this) // ES5实现Number.isSafeInteger var MIN_SAFE_INTEGER = -Math.pow(2, 53); var MAX_SAFE_INTEGER = Math.pow(2, 53); Number.isSafeInteger = function (n) {return (typeof n === 'number' &&Math.round(n) === n &&Number.MIN_SAFE_INTEGER <= n &&n <= Number.MAX_SAFE_INTEGER); } // Math.trunc: 除去一个数的小数部分 Math.trunc = Math.trunc || function (x) {return x < 0 ? Math.ceil(x) : Math.floor(x); }; // Math.sign:判断一个数是正数、负数,还是零,或非数字 Math.sign = Math.sign || function (x) {x = +x; // 转换成一个数if (x === 0 || isNaN(x)) {return x;}return x > 0 ? 1: -1; }; // Math.cbrt: 计算一个数的立方根 Math.cbrt = Math.cbrt || function (x) {var y = Math.pow(Math.abs(x), 1/3);return x < 0 ? -y : y; };

参考 《ES6 标准入门》P86~P96

总结

以上是生活随笔为你收集整理的JavaScrpt --- es5实现ES6的Number扩展(部分)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。