实际上在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()
