码迷,mamicode.com
首页 > Web开发 > 详细

JS中的短路运算

时间:2016-07-30 00:17:41      阅读:593      评论:0      收藏:0      [点我收藏+]

标签:

在逻辑运算中,转换为boolean类型的值后为false的情况: 0、""、null、false、undefined、NaN,其他都为true。

1.  && 找假

技术分享 结果==》技术分享

 

 总结:      

&&是找假 (先看第一个表达式的值,如果第一个表达式不是boolean类型,会先将此值隐式转换,转成boolean的值)
  如果第一个数转换后的值为false,则直接返第一个数, 不管第二个数是真还是假;
   如果第一个数转换后的值为true,则直接返回第二个值,不管第二值是真还是假。  

  如果两边的操作数都不是布尔类型,会先把操作数转换成布尔类型,返回值是false的那个操作数;如果两边都是false则返回第一个操作数。

2. || 找真

技术分享结果==》技术分享

总结:

 ||是找真

  如果两个值不是boolean类型的话,是先将当前的对象转换成对应的boolean类型的值;

  如果第一个值转换后为true,则直接返回,如果转换后,第一个值为false,则返回第二值。

 

逻辑非  !        !对象

如果操作数是对象,返回false

如果操作数是空字符串,返回true

如果操作数是非空字符串,返回false

如果操作数是0,返回true

如果操作数是任意非0值,返回false

如果操作数是null,undefined,NaN,返回true

上面的规则可以简化成

转换为false的值:false""0NaNnullundefined

 

JS中的短路运算

标签:

原文地址:http://www.cnblogs.com/yuluo2016/p/5719968.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!