ES6中Number的扩展

ES6中Number的扩展

  1. 在Number上添加isFinite()用来判断一个数值是否是有限的

    console.log(Number.isFinite(-1));
    console.log(Number.isFinite(1));
    console.log(Number.isFinite(NaN));
    console.log(Number.isFinite(-Infinity));
    console.log(Number.isFinite(Infinity));
    
    // ES5中部署Number.isFinite()的方法
    (function(global) {
        var global_isFinate = global.isFinite;
        Object.defineProperty(Number, 'isFinite', {
            value: function isFinate(value) {
                return typeof value === "number" && global_isFinate(value);
            },
            writable: true,
            enumerable: false,
            configurable: true
        })
    })(this);
    
  2. 在Number中添加isNaN()方法用来判断一个值是否不是数值
    console.log(Number.isNaN(1));
    console.log(Number.isNaN(‘HDH’));

    // ES5中部署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,
            writable: true,
            enumerable: false
        })
    })(this);
    
  3. 在Number中添加isInteger()用来判断一个值是否为整数
    console.log(Number.isInterger(22));
    console.log(Number.isInteger(‘22’));

    // ES5中部署isInteger()的方法
    (function(global) {
        var global_isInteger = global.isInteger;
        Object.defineProperty(Number, 'isInteger', {
            value: function isInteger(value) {
                return typeof value === "number" && Number.isFinate(value) && global_isInteger(value);
            },
            configurable: true,
            enumerable: false,
            writable: true
        })
    })(this);
    
  4. 在Number上添加isSafeInteger()用来判断一个数是否是安全整数
    console.log(Number.isSafeInteger(Math.pow(2, 54)));
    console.log(Number.isSafeInteger(3));

    // 在ES5上部署isSafeInteger用来判断一个值是否是安全整数(在js中整数范围为-2^53到2^53之间,ES10中用BigInt来定义超过这个范围的数)
    Number.isSafeInteger = function(value) {
        return (typeof value === "number" && Math.round(value) === value && NUMBER_MIN_SAFE_INTEGER <= value && NUMBER_MAX_SAFE_INTEGER >= value);
    }
    
  5. 在Number上添加parseInt()将值转换为整数
    console.log(Number.parseInt(122.44));

  6. 在Number上添加parseFloat()将值装换为浮点数
    console.log(Number.parseFloat(33));

  7. 在Number上添加了一个极小的常量EPSILON,用来设定误差范围
    console.log(Number.EPSILON);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值