更具体地说,是否存在一组值(a、b 和 c)在语句中运算符优先级很重要:
var value = (a && b == c);
(NaN 除外)。
更具体地说,是否存在一组值(a、b 和 c)在语句中运算符优先级很重要:
var value = (a && b == c);
(NaN 除外)。
是的
js> false && true == false
false
js> (false && true) == false
true
由于==
优先级高于&&
,因此第一个被解析为false && (true == false)
,相当于false && false
,因此计算结果为false
。第二个等价于false == false
,即true
该语言被解析为您的语句相当于(a && (b == c))
. 相等运算符将始终在和其他逻辑运算符&&
之前运行。您可以在此处||
找到详细信息。
是的。 ==
比 绑定得更紧&&
,所以你有什么绑定为
var val = a && ( b == c)
见这里。所以a==0
, b==1
andc==0
是假的,while(a&&b)==c
是真的。
(修正错字。该死的。)