function
isInteger(obj) {
return
obj%1 === 0
}
isInteger(4)
// true
isInteger(4.8)
// false
isInteger(
‘‘
)
// true
isInteger(
‘4‘
)
// true
isInteger(
true
)
// true
isInteger([])
// true
function
isInteger(obj) {
return
typeof
obj ===
‘number‘
&& obj%1 === 0
}
原理:整数取整后还等于本身。利用这个特性来判断是否是整数,Math.floor示例,如下
function
isInteger(obj) {
return
Math.floor(obj) === obj
}
isInteger(4)
// true
isInteger(4.8)
// false
isInteger(
‘‘
)
// false
isInteger(
‘4‘
)
// false
isInteger(
true
)
// false
isInteger([])
// false
function
isInteger(obj) {
return
parseInt(obj, 10) === obj
}
isInteger(4)
// true
isInteger(4.8)
// false
isInteger(
‘‘
)
// false
isInteger(
‘4‘
)
// false
isInteger(
true
)
// false
isInteger([])
// false
isInteger(10000000000000000000000)
// false
function
isInteger(obj) {
return
(obj | 0) === obj
}
isInteger(4)
// true
isInteger(4.8)
// false
isInteger(
‘‘
)
// false
isInteger(
‘4‘
)
// false
isInteger(
true
)
// false
isInteger([])
// false
isInteger(Math.pow(2, 32))
// 32位以上的数字返回false了
Number.isInteger(4)
// true
Number.isInteger(4.8)
// false
Number.isInteger(
‘‘
)
// false
Number.isInteger(
‘4‘
)
// false
Number.isInteger(
true
)
// false
Number.isInteger([])
// false
Math.floor(obj) === obj,ES6中推荐使用
Number.isInteger方法。原文:https://www.cnblogs.com/zhoudawei/p/10633192.html