JavaScript 判斷運算式的那點事

來源:互聯網
上載者:User

    首先很不好意思的用了一個“判斷運算式”的詞,別細糾。嘿

    我們用這樣的一個例子開始:

0 == ""   //true0 === ""  //false

     顯然,這樣的測試沒有意思。一眼就看到結果了。==是等於 ===是全等。JavaScript在邏輯判斷時,如果運算式使用的是 == 那麼,運算式就會被強型別轉換。 而===不會幹這事。所以得到了以上結果。

    回到==強型別轉換問題,灰鴿給我們總結的非常好,給大家分享下:

   左值為數字,右值轉數字。左值為字串,右值傳字串。

   這時候教主大大( Franky )說了:

    左值的概念來源於 記憶體位址 以及其對應的值.因為描述他們總是不方便 所以才誕生左值 的概念衍生出 指派陳述式  中.賦值運算子左邊的運算式 evaluate後 總是產生一個左值. 在ecmascript中 喜歡用 reference type 來代替它。

   如教主所云灰鴿的“左值”值得商榷。

   說到這強型別轉換這事,不得不提醒一個東西:

      !! new String("0") ->  true  但是  !! "0" -> false

      !! new Array() ->  true

      !! [] -> true

      由於文叔功力淺薄,故而暫無法跟大家細說其中緣故。就不知道看官如何意會了,嘿嘿。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.