【发布时间】:2009-03-26 21:47:11
【问题描述】:
更具体地说,是否有一组值(a、b 和 c)在语句中对运算符优先级很重要:
var value = (a && b == c);
(NaN 除外)。
【问题讨论】:
标签: javascript operators operator-precedence
更具体地说,是否有一组值(a、b 和 c)在语句中对运算符优先级很重要:
var value = (a && b == c);
(NaN 除外)。
【问题讨论】:
标签: javascript operators operator-precedence
是的
js> false && true == false
false
js> (false && true) == false
true
由于== 的优先级高于&&,因此第一个被解析为false && (true == false),相当于false && false,因此计算结果为false。第二个相当于false == false,也就是true
【讨论】:
解析语言,使您的语句等同于(a && (b == c))。相等运算符将始终在&&、|| 和其他逻辑运算符之前运行。你可以找到细节here。
【讨论】:
是的。 == 比 && 绑定得更紧密,所以你的绑定是什么
var val = a && ( b == c)
见here。所以a==0、b==1 和c==0 是假的,而(a&&b)==c 是真的。
(修正错字。该死。)
【讨论】: