JavaScript 中的&& 和|| 的疑惑与解

来源:互联网 发布:软件测试实例 编辑:程序博客网 时间:2024/06/15 04:14

<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);">由于是新接受的项目,文档之类的很少,所以只能自己多代码进行学习了解了。</span></span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在代码中会看到许多高(mo)大(ming)上(qimiao)的代码,主要是由于自己的基础太菜了!</span>

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">其中就对&& 和|| 的频繁出现而搞晕了,于是咨询了度娘进行了了解,本来要在群里进行提问的,由于害(bei)怕(pen)所以只能自己学习了。</span>

而度娘给出了许多参看答案,也就是说,其实这个问题确实是太菜了,以及烂(bu)大(yong)街(google)了。

下面就贴上自己找来的答案

1. js 与或&& || 妙用

2. js 运算符&&和|| 及其优先级 

参看了一下《JavaScript权威指南(第6 版)》中的 4.10.1 逻辑与  和4.10.2 逻辑或 中的解释并不是很深入,但是通过在 这里 的一篇评论令我脑洞大开

/*** 几乎所有语言中||和&&都遵循“短路”原理,* 如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反。* js也遵循上述原则。* 当||时,找到为true的分项就停止处理,并返回该分项的值,否则执行完,并返回最后分项的值。* 当&&时,找到为false的分项就停止处理,并返回该分项的值。**/var a = "" || null || 3 || 4;//3alert(a);var b = 4 && 5 && null && "0";//nullalert(b);


上的两句话真是金玉良言啊

1.  当|| 时,找到为true 的分项就停止处理,并返回该分项的值,否则执行完,并返回最后分项的值

2.  当&&时,找到为false 的分项就停止处理,并方位该分项的值,否则执行完,并返回最后分项的值


0 0
原创粉丝点击