为什么parseInt(key) === NaN总是求值为false
Why parseInt(key) === NaN always evaluates to false
我正在做基于字典键的决策,我只有两种类型的键,数字和alpha,
var _dict = { 'a':'one', 'b':'two', '1':'three' };
$.each( _dict, function( key, value ){
if( parseInt( key ) === NaN ) {
// this statement always evalute to false
} else {
}
});
如果我输出console.log(parseInt('a'))
,它也会返回NaN
我已经从这个问题找到了解决方案javascript parseInt返回NaN为空字符串
这是因为NaN
被定义为不等于任何东西(包括它自己)。检查:
>> NaN === NaN
False
你应该使用isNaN()函数来代替:
>> isNaN(NaN)
true
>> isNaN(0/0)
true
>> isNaN(parseInt('a'))
true
相关文章:
- 如果 a 为 false,则 if(a) === if(false)
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 如何将localStorage值设置为false
- JavaScript NaN equvialence
- JavaScript-切换“;全部检查”;复选框true/false
- gulp Iconify任务抛出错误TypeError:Path必须是字符串.收到false
- 如何为排除无穷大和NaN的数字声明Flow类型
- 为什么我在这个javaScript代码中使用NaN
- 如何防止Math.max()返回NaN
- 函数将输出nan而不是数字,为什么
- 如何使用javascript将字段强制设置为false
- jquery中出现NaN错误.已经尝试过ParseInt,但仍然不起作用
- 尝试求和时,在我的表的页脚中返回$NaN
- (false==false==true)怎么可能是真的
- 为什么true/true是1,true/false是无穷大,false/true是0,false/false是NaN
- 没有 NaN 的 x === x 返回 false 是否有任何值
- number * string是NaN,但是当检查NaN是否返回false时
- 如何在数组 (JS) 中过滤掉 NaN、null、0、false
- 为什么parseInt(key) === NaN总是求值为false
- NaN是伪造的吗?为什么NaN===false返回false