white knight

导航

 

参考 https://blog.csdn.net/tangxiujiang/article/details/78073792

 

1、使用取余运算符(%) + 判断对象是否是数字来判断:

     注意:空字符串、字符串类型数字、布尔true、空数组对1求余,结果都是true(因为他们都是对象,),所以要先判断对象是否为数字

function isInteger(obj){

return typeof obj === 'number' && obj%1 === 0; //是整数,则返回true,否则返回false

}

 

2、使用Math.round、Math.ceil、Math.floor判断,整数取整之后还是自己

function isInteger(obj){

return Math.round(obj) === obj //是整数,则返回true,否则返回false

}

注意:这种方法直接把空字符串、字符串类型数字、布尔true、空数组给屏蔽掉了

 

3、ES6提供了Number.isInteger  但只有chrom  firefox支持

Number.isInteger(3.3) // false

Number.isInteger(3) // true


Number.isInteger('') // false

Number.isInteger('3') //false


Number.isInteger([]) // false

Number.isInteger(true) //false

posted on 2018-09-03 13:46  white knight  阅读(308)  评论(0编辑  收藏  举报