演算子の優先度と&&(論理と)と|(論理または)の優先度:

1259 ワード

演算子の優先度(上位から下位まで)
演算子
説明
. [] ()
フィールド・アクセス、配列の下付き、関数呼び出し、式のグループ化
++ -- - ~ ! delete new typeof void
単項演算子、戻りデータ型、オブジェクト作成、未定義値
*/%
乗算、除算、型取り
+ - +
加算、減算、文字列接続
<< >>>>>
シフト
<<= >>= instanceof
より小さい、より小さい、より大きい、より大きい、より大きい、instanceof
== != === !==
等しくない
&
ビットと
^
ビット別異動
|
ビット単位または
&&
ロジックと
||
論理または
?:
条件
= oP=
割り当て
,
複数評価
 
主に&&(論理と)と|(論理または)を混合して使用する場合は、優先順位に注意してください:(辛抱強く.5分で終わります)
&&(論理と)優先度が高い(論理または)return a&b|cは、aに基づいて戻り値を判断し、aがfalseであれば必ずcを返す.b、cがtrueであれば、aに基づいてbかcを決定し、aがfalseであればcを返し、aがtrueであればbを返す.return a|b&cは優先度によってb&&cに相当し、aと相または;aがtrueであればaを返し、aを返さないbまたはcであり、aがfalseであれば、bがfalseであれば、bを返し、bがtrueであれば、cを返す.
ex: 1 var   a = 3  &&  0 || 2;   //2 3 var   b = 3 || 0  &&  2;  // 3 5 var   c= 0 || 2 && 3;  // 3 6 alert(a),alert(b),alert(c);
転載先:https://www.cnblogs.com/adao21/p/9246457.html