Я делаю решение на основе словаря ключ, у меня есть только два типа ключей, цифровой и альфа,Почему ParseInt (ключ) === NaN всегда принимает значение ложь
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
Я alreay нашел решение от этого вопроса javascript parseInt return NaN for empty string
Но мне было интересно, почему он всегда принимает значение ложь.
'NaN = NaN', используйте' IsNaN (ParseInt (ключ)) 'или в случае' ParseInt (ключ) ' –
, потому что IEEE 754 сказал так – stark
и NaN! == NaN, потому что так было в начале и чтобы его изменить теперь может нарушить www (или его части) –