JavaScrpt --- es5实现ES6的Number扩展(部分)
生活随笔
收集整理的這篇文章主要介紹了
JavaScrpt --- es5实现ES6的Number扩展(部分)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ES6對數值對象Number進行了擴展,
// ES實現(xiàn)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實現(xiàn)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實現(xiàn)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實現(xiàn)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_