Qyouu
2018-12-06 13:28:45
console.log(null == NaN); //falseconsole.log(null == undefined); //trueconsole.log(null == false); //falseconsole.log(null == ""); //falseconsole.log(null == ''); //falseconsole.log(null == 0); //falseconsole.log(false == NaN); //falseconsole.log(false == undefined); //falseconsole.log(false == null); //falseconsole.log(false == ""); //trueconsole.log(false == ''); //trueconsole.log(false == 0); //true按理來說,這些不是都可以互相轉(zhuǎn)換的嗎?為什么會出現(xiàn)這種情況,里面的原理誰能幫忙解釋一下。謝謝。
5 回答

楊__羊羊
TA貢獻1943條經(jīng)驗 獲得超7個贊
大概有以下這些情況:
1. 空字符串,0,NaN,null,undefined 都會轉(zhuǎn)換為 false
2. 只有 null == undefined,和其它的都不相等
3. 空數(shù)組在判斷的時候會轉(zhuǎn)換為 true,但是 [] == 0,[] == false,[] == ''
4. NaN 和任何東西都不相等,包括它自己:NaN !== NaN

幕布斯7119047
TA貢獻1794條經(jīng)驗 獲得超8個贊
NaN 屬性是代表非數(shù)字值的特殊值,isNaN() 全局函數(shù)來判斷一個值是否是 NaN 值。
undefined一個特殊值,通常用于指示變量尚未賦值,類似于null
js中0,'',"",都有false的意思
添加回答
舉報
0/150
提交
取消