js 里面判断一个值是否为int类型

实际上在ES6的语法中已经有Number.isInteger()这个方法支持判断一个值是否为int类型,而且用法也很简单:

Number.isInteger(25) // true
Number.isInteger(25.0) // true
Number.isInteger(25.1) // false
Number.isInteger("15") // false
Number.isInteger(true) // false

但是由于目前的浏览器几乎都不支持ES6的语法,而我们又有这样的需求,要怎么办呢?依然很简单,只需把下面的代码引用到你的项目里即可:

 Number.prototype.isInteger = function (global) {
        var floor = Math.floor,
            isFinite = global.isFinite;

        Object.defineProperty(Number, 'isInteger', {
            value: function isInteger(value) {
                return typeof value === 'number' &&
                    isFinite(value) &&
                    floor(value) === value;
            },
            configurable: true,
            enumerable: false,
            writable: true
        });
    };

下面我们测试一下吧

Number.isInteger(6)//true

是不是很好用呢?

本文出处:ECMAScript 6 入门 Number.isInteger()

你可能感兴趣的:(js 里面判断一个值是否为int类型)