在司徒正美的书里看到一个判断负整数的例子
if (+n === n && !(n % 1) && n >= 0){
}
不能理解
在控制台里测试了一下
+1.1 === 1.1
>true
+1 === 1
>true
这个加号是什么作用
黄舟2017-04-10 14:27:45
其实我不太喜欢这种卖弄技巧的做法,可读性比较差。这么写的前提是一起工作的人都能够很好地理解这段代码,不然的话,我不喜欢这种奇技淫巧。
要我写的话,我宁愿这么写:
var isNegInt = function (n) {
return (typeof n === 'number' && n < 0 && Number.isInteger(n));
}
然后实际要用的时候直接用:
if (isNegInt(n)) {
//...
}
这样比较清晰。