js中的短路操作符 與 用法

2021-08-31 01:41:15 字數 2502 閱讀 9991

1、||(邏輯或)

只有前後都是false的時候才返回false,否則返回true。

alert(2||1);//2

前面2是true,後面1也是true,結果是2,

alert('a'||1);//'a'

前面'a'是true,後面1也是true;測試結果是'a',

alert(''||1);//1

前面」是false,後面1是true,而返回結果是1。

alert('a'||0);//'a'

前面'a'是true,而後面0是false,返回結果是'a',

alert(''||0);//0

前面」是false,後面0同樣是false,返回結果是0

alert(0||'');//''

前面0是false,後面」是false,返回結果是」

結論:varc=a()||b();

a() || b() :如果執行a()後返回true,則整個表示式返回a()的值,b()不執行;如果執行a()後返回false,則執行b()並返回b()的值;

只要「||」前面為false,不管「||」後面是true還是false,都返回「||」後面的值。

只要「||」前面為true,不管「||」後面是true還是false,都返回「||」前面的值。

2.&&(邏輯與)

只有前後都是true的時候才返回true,否則返回false。

alert(''&&1);//''

結是返回」,「&&」前面」是false,後面是1是true。

alert(''&&0);//''

結是返回」,「&&」前面」是false,後面是0也是false。

alert('a'&&1);//1

結是返回1,「&&」前面」a是true,後面是1也是true。

alert('a'&&0);//0

結是返回0,「&&」前面」a是true,後面是0是false。

alert('a'&&'');//''

結是返回」,「&&」前面」a是true,後面是」是false。

alert(0&&'a');//0

結是返回0,「&&」前面」0是false,後面是'a'是true。

alert(0&&'');//0

結是返回0,「&&」前面」0是false,後面是」也是false。

varc=a()&&b();

a() && b() :如果執行a()後返回true,則執行b()並返回b的值;如果執行a()後返回false,則整個表示式返回a()的值,b()不執行;

只要「&&」前面是false,無論「&&」後面是true還是false,結果都將返「&&」前面的值;

只要「&&」前面是true,無論「&&」後面是true還是false,結果都將返「&&」後面的值;

在js邏輯運算中,0、」「、null、false、undefined、nan都會判為false,其他都為true

&& 優先順序高於 ||

alert((1 && 3 || 0) && 4); //結果4 ①

alert(1 && 3 || 0 && 4); //結果3 ②

alert(0 && 3 || 1 && 4); //結果4 ③

分析:語句①:1&&3 返回3 => 3 || 0 返回 3 => 3&&4 返回 4

語句②:先執行1&&3 返回3,在執行0&&4返回0,最後執行結果比較 3||0 返回 3

語句③:先執行0&&3 返回0,在執行1&&4返回4,最後執行結果比較 0||4 返回 4

js中的操作符

1.操作符 第乙個值是true,返回第二個字 第乙個值是false,返回第乙個值 是false的值有 nan,null,undefined,0 var b abc bcd bcd var c nan bcd nan var d undefined bcd undefined var f bcd un...

python 操作符 與 的用法

兩個乘號就是乘方,比如2 4,結果就是2的4次方,結果是16 乙個乘號 如果運算元是兩個數字,就是這兩個數字相乘,如2 4,結果為8 如果是字串 列表 元組與乙個整數n相乘,返回乙個其所有元素重複n次的同型別物件,比如 hello 3將返回字串 hellohellohello 如果是函式定義中引數前...

python 操作符 與 的用法

兩個 乘號就是 乘方,比如2 4,結果就是2的4次方,結果是16 乙個乘號 如果 運算元是兩個數字,就是這兩個數字相乘,如2 4,結果為8 如果是字串 列表 元組與乙個整數n相乘,返回乙個其所有元素重複n次的同型別物件,比如 str 3將返回字串 strstrstr 如果是函式定義中引數前的 表示的...