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按理来说,这些不是都可以互相转换的吗?为什么会出现这种情况,里面的原理谁能帮忙解释一下。谢谢。
5 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
大概有以下这些情况:
1. 空字符串,0,NaN,null,undefined 都会转换为 false
2. 只有 null == undefined,和其它的都不相等
3. 空数组在判断的时候会转换为 true,但是 [] == 0,[] == false,[] == ''
4. NaN 和任何东西都不相等,包括它自己:NaN !== NaN
幕布斯7119047
TA贡献1794条经验 获得超8个赞
NaN 属性是代表非数字值的特殊值,isNaN() 全局函数来判断一个值是否是 NaN 值。
undefined一个特殊值,通常用于指示变量尚未赋值,类似于null
js中0,'',"",都有false的意思
添加回答
举报
0/150
提交
取消