<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)了。
下面就贴上自己找来的答案
参看了一下《JavaScript权威指南(第6 版)》中的 4.10.1 逻辑与 和4.10.2 逻辑或 中的解释并不是很深入,但是通过在 这里 的一篇评论令我脑洞大开
/**
* 几乎所有语言中||和&&都遵循“短路”原理,
* 如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反。
* js也遵循上述原则。
* 当||时,找到为true的分项就停止处理,并返回该分项的值,否则执行完,并返回最后分项的值。
* 当&&时,找到为false的分项就停止处理,并返回该分项的值。
**/
var a = "" || null || 3 || 4;//3
alert(a);
var b = 4 && 5 && null && "0";//null
alert(b);
1. 当|| 时,找到为true 的分项就停止处理,并返回该分项的值,否则执行完,并返回最后分项的值
2. 当&&时,找到为false 的分项就停止处理,并方位该分项的值,否则执行完,并返回最后分项的值