javascript - js判断负整数
PHPz
PHPz 2017-04-10 14:25:45
0
3
727

在司徒正美的书里看到一个判断负整数的例子

if (+n === n && !(n % 1) && n >= 0){

}

不能理解
在控制台里测试了一下

+1.1 === 1.1
>true
+1 === 1
>true

这个加号是什么作用

PHPz
PHPz

学习是最好的投资!

reply all(3)
大家讲道理

根据 @Humphry 的方法,测试了下,原来 +- 都可以强制转换为 Number

黄舟

其实我不太喜欢这种卖弄技巧的做法,可读性比较差。这么写的前提是一起工作的人都能够很好地理解这段代码,不然的话,我不喜欢这种奇技淫巧。
要我写的话,我宁愿这么写:

var isNegInt = function (n) {
    return (typeof n === 'number' && n < 0 && Number.isInteger(n));
}

然后实际要用的时候直接用:

if (isNegInt(n)) {
    //...
}

这样比较清晰。

Ty80

+n === n 判断是数字
!(n % 1) 判断是整数,用Number.isInteger(x)也行
n >= 0 判断是非负

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template