Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 操作员优先级对&&;javascrtipt中的and==?_Javascript_Operators_Operator Precedence - Fatal编程技术网

Javascript 操作员优先级对&&;javascrtipt中的and==?

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

更具体地说,在语句中是否存在一组运算符优先级很重要的值(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
为真

(修正了打字错误。)

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控制台