为什么num=="number"会成立,NaN不是与任何值都不相等吗?
来源:1-5 if语句的嵌套
慕勒3413819
2019-08-04 02:14:46
请问老师为什么num=="number"会成立,NaN不是与任何值都不相等吗?就算"number"隐式转换成数字类型也是NaN。难道NaN==NaN成立?
2回答
同学你好,理解的有问题哦:
代码中前面加了一个typeof检测:
这里是检测num变量是否为number类型,而不是判断num与"number"是否相等哦。例如:
自己可以再理解下,祝学习愉快!
键盘上的莫扎特
2019-08-04
如果num=123 number="123" String类型的number在跟num比较的时候,会自动把引号去掉变成数值类型(隐式转换),所以二者在不考虑数据类型的情况下数值是相等的,如果num===number中间是三个等号,则返回false,因为三个等号代表“全等”,不仅要比较数值大小,而且还要考虑二者的数据类型
相似问题