以前我一直認爲邏輯運算符的返回值一直是true或者false,其實根本就沒考慮過它又返回值,一直是在if判斷語句中作爲一個條件使用,只是爲了能讓條件正確與否進入if語句。根本就沒用到邏輯運算符的返回值。
現在寫一個簡單的alert()語句來測試邏輯或的返回值
1. alert(num||1);
這是它不會有提示框彈出,因爲num是一個未定義的變量,遇到未定義的變量是會報錯的
2. var num;
alert(num||1);
這時它會彈出框,輸出1 ,也就是邏輯或對於已經定義的變量是可以執行不會報錯的。
3. var num=0;
alert(num||1);
這時輸出1
4. var num=3;
alert(num||1);
這時輸出3
5. var num=true;
alert(num||1);
這時輸出true
總結:邏輯或的返回值計算,先從表達式的左側判斷,只要判斷到有非0非false的就返回該值,遇到爲定義的則報錯