日期:2014-05-16  浏览次数:20466 次

一行javascript没看懂,求解释
(true) && (false) && (console.log('2')) || (console.log('s'));

为什么会执行到s?

------解决方案--------------------
&& 的優先級高于 
------解决方案--------------------
 

(true && false && console.log('2')) 
------解决方案--------------------
 console.log('s');
------解决方案--------------------
引用:
Quote: 引用:

(true) && (false) && (console.log('2')) 
------解决方案--------------------
 (console.log('s'));


上面这个表达式可以分成两部分
第一部分:
(true) && (false) && (console.log('2'))


第二部分:
(console.log('s'))


前一部分的结果为false,所以执行后面一部分。

当&&连接两个表达式时,当前面的为false时终止后面表达式的执行,如果前面的表达式为true则继续执行后面的表达式;如果是
------解决方案--------------------
连接的两个表达式前一个为false时,继续执行后面的表达式,前面一个为true,则终止后面表达式执行。


老师好,请问根据什么将表达式分为了2部分?


上面的会员都说了啊 && 的优先级大于 
------解决方案--------------------
 ,所以 && 相连的先进行逻辑运算,然后进行 
------解决方案--------------------
 相连的表达式的逻辑运算。