逻辑与,如果null&&NaN&&undefined同时出现

来源:6-1 逻辑与

夜魇丶

2019-06-10 21:39:24

老师你好,我举个例子: 

 var x=undefined,

      y=null,

      z="abc22"+11;

  x&&y  //null

  x&&z  //undefined

  y&&z  //null

  x&&y&&z //null

(代码不规范,就是三种操作数同时比较的时候)

我试完之后的结论是,null与NaN及undefined三者同时进行与操作符运算时,优先返回null值,其次undefined,最后NaN。想知道这样是不是对的。


写回答

1回答

好帮手慕星星

2019-06-11

你好,这样理解是有问题的,要按照操作数的顺序来判断:

例如x&&y:

x的值是undefined,会先进行隐式转换成布尔值,undefined转化为布尔值为false:

http://img.mukewang.com/climg/5cff0ea200014af202390058.jpg

逻辑与是只要有一个false,就会停止,返回当前值,那么x&&y的结果就是undefined,不是同学注释的null哦。

自己可以再测试下,如果还有疑惑,可以查看教辅资料中的讲解:

http://img.mukewang.com/climg/5cff0e390001480a04020518.jpg

祝学习愉快!

0

0 学习 · 40143 问题

查看课程