JavaScrpt --- es5实现ES6的Number扩展(部分)
生活随笔
收集整理的这篇文章主要介绍了
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扩展(部分)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: mysql编译安装后目录空_MySQL源
- 下一篇: java parseexception_