老师关于资料中有个不明白的
来源:6-6 逻辑或逻辑非
qq_久坠深海_0
2020-05-19 00:35:16
'null' | | isNaN(false)
"null"
这里是怎么一个比较的方法呢?
我先说下自己的理解。
null==undefiend返回的结果都是:true。(是这样理解么?还是说这里的null只是一个类似hello类型自定义的一个字符串而已?因为我看它加了引号的?感觉应该像是之前说的unicode字符组成的字符串)
但这里isNan(false)中的(false为啥返回是false,这说明它是一个数值呀?)为啥?
还有isNan(null)为什么也是一个数值呢?
麻烦哪位老师回答一下。
1回答
同学你好,这里'null'加了引号就是一个普通字符串了,并不是null值。如下

'null'转化为布尔值为true

isNaN()方法检测参数是否为非数字,如果是数字返回值为false,不是数字返回值为true。会先将参数进行隐式转化为数字,false转化为数字类型为0

0是数字,所以返回值为false

isNaN(null)也是一样的道理,null转化为数字类型为0,是数字

所以isNaN(null)的值为false。
最后逻辑或检测一个为true就会中断,所以这行代码的返回值为‘null’

自己再测试理解下,祝学习愉快!
相似问题