Javascript 操作员优先级对&&;javascrtipt中的and==?
更具体地说,在语句中是否存在一组运算符优先级很重要的值(a、b和c):Javascript 操作员优先级对&&;javascrtipt中的and==?,javascript,operators,operator-precedence,Javascript,Operators,Operator Precedence,更具体地说,在语句中是否存在一组运算符优先级很重要的值(a、b和c): var value = (a && b == c); (NaN除外)。对该语言进行分析,使您的语句与(a&&(b==c))等价。相等运算符将始终在&&、| |和其他逻辑运算符之前运行。你可以找到细节。是的=比&&绑定得更紧密,所以您所拥有的绑定是 var val = a && ( b == c) 看。因此a==0,b==1和c==0为假,而(a&&b)==c为真 (修正了打字错误。)是 j
var value = (a && b == c);
(NaN除外)。对该语言进行分析,使您的语句与
(a&&(b==c))
等价。相等运算符将始终在&&
、| |
和其他逻辑运算符之前运行。你可以找到细节。是的<代码>=比&&
绑定得更紧密,所以您所拥有的绑定是
var val = a && ( b == c)
看。因此a==0
,b==1
和c==0
为假,而(a&&b)==c
为真
(修正了打字错误。)是
js> false && true == false
false
js> (false && true) == false
true
由于
=
的优先级高于&
,因此第一个被解析为false&&(true==false)
,这相当于false&&false
,因此计算结果为false
。第二个是相当于false==false
,这是true
是的,我理解,但我试图弄清楚它在那个特定的例子中是否有区别。a&&b==c中的a=1,b=0,c=0会给出1&&(0==0)=>1&&true=>true我在使用spidermonkey,我没有那么多使用它,只是测试一下这种偶尔的表情。是的。Safari和Chrome也有WebKit Inspector提供的JavaScript控制台