我正在读 Marijn Haverbeke 的一本书“Eloquent JavaScript”,它说:
“将字符串和数字转换为 bool 值的规则规定 0、NaN 和空字符串 ("") 算作假,而所有其他值算作真。”
如果有人向我解释作者说根据转换规则 NaN 算作 false 是什么意思,那就太好了?
正如我现在所看到的:
0 == false; // true
"" == false; // true
NaN == false; // false
0 / 0 == false; // false
是的,我知道“NaN 不等于任何东西,甚至不等于另一个 NaN”,但我只是想知道这本书想让我知道什么?
最佳答案
基本上,如果一个变量被分配给 NaN
,如果在条件语句中使用它,它将评估为 false。例如:
var b = NaN;
if(b){//code will never enter this block
console.log('the impossible has occurred!')
}
如果您收到无效输入,也是如此,例如:
var input = "abcd"
var num = parseFloat(input);
if(num){
console.log('the impossible has occurred!')
}
关于javascript - NaN 算作假?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43746574/