深入理解JS中 和

2022-06-19 07:39:11 字數 1071 閱讀 5523

寫了這麼多js,才發現js的語法既是屬於c語系的,又與一般c語系的程式語言某些地方有很大區別,其中&&和||就是其中一例。

c語系的&&和||有乙個特點,無論你把表示式寫的天花亂墜,都會返回乙個布林值。

1,&&

兩邊條件都為true時,結果才為true;

如果有乙個為false,結果就為false;

當第乙個條件為false時,就不再判斷後面的條件;

注意:當數值參與邏輯與運算時,結果為true,那麼會返回的會是第二個為真的值;如果結果為false,返回的會是第乙個為假的值。

2,||

只要有乙個條件為true時,結果就為true;

當兩個條件都為false時,結果才為false;

當乙個條件為true時,後面的條件不再判斷;

注意:當數值參與邏輯或運算時,結果為true,會返回第乙個為真的值;如果結果為false,會返回第二個為假的值;

1,js中的&&和||,當出現在條件判斷語句中時,例如if,會遵守c語系規則。

2,js中的&&和||,當初現在賦值語句中時,例如變數賦值、return結果等,會遵循以下規則:

表示式a && 表示式b :  計算表示式a(也可以是函式)的運算結果,

如果為 true, 執行表示式b(或函式),並返回b的結果;

如果為 false,返回a的結果;

表示式a || 表示式b :   計算表示式a(也可以是函式)的運算結果,

如果為 fasle, 執行表示式b(或函式),並返回b的結果;

如果為 true,返回a的結果;

例1:

1 letb, c, d;

2 b = true || 0;//

b=true;

3 c = false || 0;//

c=0;

4 d = 1 || 0;//

d=1;

例2:

1

//將陣列中布林值為false的成員轉為0

2 array.from([1, , 2, , 3], (n) => n || 0)3//

[1, 0, 2, 0, 3]

深入理解JS中 和

c語系的 和 有乙個特點,無論你把表示式寫的天花亂墜,都會返回乙個布林值。1,兩邊條件都為true時,結果才為true 如果有乙個為false,結果就為false 當第乙個條件為false時,就不再判斷後面的條件 注意 當數值參與邏輯與運算時,結果為true,那麼會返回的會是第二個為真的值 如果結果...

深入理解JS中 和

寫了這麼多js,才發現js的語法既是屬於c語系的,又與一般c語系的程式語言某些地方有很大區別,其中 和 就是其中一例。c語系中的 和 c語系的 和 有乙個特點,無論你把表示式寫的天花亂墜,都會返回乙個布林值。1,兩邊條件都為true時,結果才為true 如果有乙個為false,結果就為false 當...

js深入理解 一

1if a b 兩者等價 a b alert hello word 2.給eval取別名var a 111 var b eval var c b a alert c 輸出 111 3.刪除元素 不能刪除 var語句宣告的變數 var o delete o.x alert o.x 輸出 undefin...