狐的傳說
2019-03-12 17:15:39
在司徒正美的書里看到一個判斷負整數(shù)的例子if (+n === n && !(n % 1) && n >= 0){}不能理解在控制臺里測試了一下+1.1 === 1.1>true+1 === 1>true這個加號是什么作用
4 回答

HUWWW
TA貢獻1874條經(jīng)驗 獲得超12個贊
其實我不太喜歡這種賣弄技巧的做法,可讀性比較差。這么寫的前提是一起工作的人都能夠很好地理解這段代碼,不然的話,我不喜歡這種奇技淫巧。
要我寫的話,我寧愿這么寫:
var isNegInt = function (n) {
return (typeof n === 'number' && n < 0 && Number.isInteger(n));
}
然后實際要用的時候直接用:
if (isNegInt(n)) {
//...
}
這樣比較清晰。

侃侃爾雅
TA貢獻1801條經(jīng)驗 獲得超16個贊
+n === n 判斷是數(shù)字
!(n % 1) 判斷是整數(shù),用Number.isInteger(x)也行
n >= 0 判斷是非負
添加回答
舉報
0/150
提交
取消