js中邏輯運算符|| 的返回值並不只有true和false

以前我一直認爲邏輯運算符的返回值一直是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的就返回該值,遇到爲定義的則報錯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章