方法1:使用取余运算符判断
任何整数都会被1整除,即余数是0;我们可以利用这个规则来判断是否是整数。
示例:先先判断下对象是否是number类型,在判断是否为整数。
function isInteger(obj) { return typeof obj === 'number' && obj=== 0 } isInteger(3) // true isInteger(3.3) // false
方法2:使用Math.round、Math.ceil、Math.floor判断
整数取整后还是等于自己;可以利用这个特性来判断是否是整数。
Math对象的round、ceil、floor方法都可以对一个数进行舍入取整。
示例:使用Math.round
function isInteger(obj) { return Math.round(obj) === obj } isInteger(3) // true isInteger(3.3) // false
方法3:通过位运算判断
function isInteger(obj) { return (obj | 0) === obj } isInteger(3) // true isInteger(3.3) // false isInteger('') // false isInteger('3') // false isInteger(true) // false isInteger([]) // false //这个函数很不错,效率还很高。但有个缺陷,上文提到过,位运算只能处理32位以内的数字,对于超过32位的无能为力 isInteger(Math.pow(2, 32)) // 32位以上的数字返回false了
方法4:使用ES6提供的Number.isInteger()
Number.isInteger()方法可以可以检测参数是否为整数;如果是整数返回true,否则返回false。
示例:
Number.isInteger(3) // true Number.isInteger(3.1) // false Number.isInteger('') // false Number.isInteger('3') // false
目前,最新的Firefox和Chrome已经支持。
以上就是javascript如何判断值是否为整数?的详细内容,更多请关注易知道|edz.cc其它相关文章!