判断一个值是否等于 NaN,只能用 value !== value
因为NaN不等于自身,也不等于任何字符。
举个例子:
function bouncer(arr) {
// Don't show a false ID to this bouncer.
var array = arr.filter(function(value){
if (value === false || value === null || value === 0 || value === "" || value === undefined || value !== value){
return false;
}
return true;
});
return array;
}
bouncer([false, 0, NaN, undefined, ""]);
如果不使用 value !== value 的话则返回数组中会出现[null],而不是[]
本文详细解释了如何正确地判断一个值是否为NaN,指出不能仅使用value==value来判断,而是应该使用value!==value。通过具体示例说明了使用不当可能导致的错误结果,并提供了正确的代码实现。

被折叠的 条评论
为什么被折叠?



