var a=[],b=[];
a = true && b.push(1); 


今天看到一个这个代码,猜测应该是 && 两边的代码都会执行

但总是看到在一句代码中突然就出来这个与或非的 各种运算符号 就蒙了 
 

总是零时百度解决让后没有总结,今天总结一下



得出结果:&& 左边为false 右边就不执行,返回 false,如果左边为 true 右边执行,返回右边执行后的返回值
这是运算短路操作的情况

后来看到这一句感觉应该从左到右运算啊,

但是通过看解释,猜想应该是遵循了运算符的优先级影响,

查看运算符优先级确实应该是先计算&&再计算||   还要工作 先总结到这

优先级运算类型关联性运算符
20圆括号n/a( … )
19成员访问从左到右… . …
需计算的成员访问从左到右… [ … ]
new (带参数列表)n/anew … ( … )
函数调用从左到右… ( … )
18new (无参数列表)从右到左new …
17后置递增(运算符在后)n/a
 
… ++
后置递减(运算符在后)… --
16逻辑非从右到左! …
按位非~ …
一元加法+ …
一元减法- …
前置递增++ …
前置递减-- …
typeoftypeof …
voidvoid …
deletedelete …
awaitawait …
15从右到左… ** …
14乘法从左到右
 
… * …
除法… / …
取模… % …
13加法从左到右
 
… + …
减法… - …
12按位左移从左到右… << …
按位右移… >> …
无符号右移… >>> …
11小于从左到右… < …
小于等于… <= …
大于… > …
大于等于… >= …
in… in …
instanceof… instanceof …
10等号从左到右
 
… == …
非等号… != …
全等号… === …
非全等号… !== …
9按位与从左到右… & …
8按位异或从左到右… ^ …
7按位或从左到右… | …
6逻辑与从左到右… && …
5逻辑或从左到右… || …
4条件运算符从右到左… ? … : …
3赋值从右到左… = …
… += …
… -= …
… *= …
… /= …
… %= …
… <<= …
… >>= …
… >>>= …
… &= …
… ^= …
… |= …
2yield从右到左yield …
yield*yield* …
1展开运算符n/a... …
0逗号从左到右… , …

 

更多推荐

与或非 逻辑运算符 && || !运算小总结