JavaScript的布爾類型和邏輯判斷

來源:互聯網
上載者:User

絕大多數程式設計語言都支援布爾類型以外的變數作為邏輯值用於if, while等等邏輯判斷. 雖然規則略有差別, 但是基本上遵循的基本原則是差不多的, 比如在JavaScript裡面, if語句裡面否定的變數只有以下取值: false, 0, null, undefined,Null 字元串. 但是如果把他們轉換為布爾變數, 規則如下:

//測試5個值的類型轉換值var a = [false,0,"",undefined,null];for(var i=0;i<5;i++){for(var j=0;j<5;j++){alert(a[i]+"=="+a[j]+":"+(a[i]==a[j]));}}

總結為: false,0,""(空串) 3個總是相等, 不管哪個在前哪個在後. 而undefined和null總是相等. 但是前一組和後一組總是不等. 從語言的角度, undefined和null確實幾乎沒有區別, 完全沒有必要引入這兩個常數, 從意義的角度, undefined表示這個變數不存在, null表示這個變數指向一個null常數對象. 但是JavaScript這種語言, 無需關心一個變數是否存在, 在運算當中沒有必要區分一個變數是未定義的還是被置為null的,
這種區分反倒添加了無數的麻煩, 因為你需要多考慮一種情況.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.