在司徒正美的书里看到一个判断负整数的例子
if (+n === n && !(n % 1) && n >= 0){
}
不能理解
在控制台里测试了一下
+1.1 === 1.1
>true
+1 === 1
>true
这个加号是什么作用
在司徒正美的书里看到一个判断负整数的例子
if (+n === n && !(n % 1) && n >= 0){
}
不能理解
在控制台里测试了一下
+1.1 === 1.1
>true
+1 === 1
>true
这个加号是什么作用
其实我不太喜欢这种卖弄技巧的做法,可读性比较差。这么写的前提是一起工作的人都能够很好地理解这段代码,不然的话,我不喜欢这种奇技淫巧。
要我写的话,我宁愿这么写:
var isNegInt = function (n) {
return (typeof n === 'number' && n < 0 && Number.isInteger(n));
}
然后实际要用的时候直接用:
if (isNegInt(n)) {
//...
}
这样比较清晰。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
根据 @Humphry 的方法,测试了下,原来
+
和-
都可以强制转换为Number
。