1. 程式人生 > >js邏輯與邏輯或

js邏輯與邏輯或

&&:與運算子

如果兩邊的運算元,一個不是布林值,與運算就不一定返回布林值;

1.第一個運算元是物件,則返回第二個運算元;

var a={}&&5    a=5;

2.第二個運算元是物件,則第一個運算元返回true時,才返回第二個物件,否則返回false;

3.有一個運算元是null(undefined),則返回null(undefined);

4.與操作符屬於短路操作如果第一個運算元返回是false,不管後面(不執行後面的),直接返回false;

||或運算子

如果兩邊的運算元,一個不是布林值,與運算就不一定返回布林值;

1.  只要一邊是true,整體就返回true;

2.第一個運算元是物件,返回物件;兩個運算元都是物件,返回第一個運算元

3.第一個運算元是false,返回第二個運算元;

4.兩個運算元都為null(undefined),返回null(undefined);

5.或操作符也是短路操作,當第一個運算元的求值結果是true,就不會對第二個操作值求值了;