<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 一、null 和 undefined ### 1.1 概述 `null`與`undefined`都可以表示“沒有”,含義非常相似。將一個變量賦值為`undefined`或`null`,老實說,語法效果幾乎沒區別。 ~~~ var a = undefined; // 或者 var a = null; ~~~ 在`if`語句中,它們都會被自動轉為`false`,相等運算符(`==`)甚至直接報告兩者相等。 ~~~ if (!undefined) { console.log('undefined is false'); } // undefined is false if (!null) { console.log('null is false'); } // null is false undefined == null // true ~~~ 1995年 JavaScript 誕生時,最初像 Java 一樣,只設置了`null`表示"無"。根據 C 語言的傳統,`null`可以自動轉為`0`。 ~~~ Number(null) // 0 5 + null // 5 ~~~ 但是,JavaScript 的設計者 Brendan Eich,覺得這樣做還不夠。首先,第一版的 JavaScript 里面,`null`就像在 Java 里一樣,被當成一個對象,Brendan Eich 覺得表示“無”的值最好不是對象。其次,那時的 JavaScript 不包括錯誤處理機制,Brendan Eich 覺得,如果`null`自動轉為0,很不容易發現錯誤。因此,他又設計了一個`undefined`。 ~~~ Number(undefined) // NaN 5 + undefined // NaN ~~~ 區別是這樣的:`null`是一個表示“空”的對象,轉為數值時為`0`;`undefined`是一個表示"此處無定義"的原始值,轉為數值時為`NaN`。 ### 1.2 用法和含義 * `null`表示空值,即該處的值現在為空。調用函數時,某個參數未設置任何值,這時就可以傳入`null`,表示該參數為空。比如,某個函數接受引擎拋出的錯誤作為參數,如果運行過程中未出錯,那么這個參數就會傳入`null`,表示未發生錯誤。 * `undefined`表示“未定義”。 ~~~ // 變量聲明了,但沒有賦值 var i; i // undefined // 調用函數時,應該提供的參數沒有提供,該參數等于 undefined function f(x) { return x; } f() // undefined ~~~ ## 二、布爾值 布爾值代表“真”和“假”兩個狀態。“真”用關鍵字`true`表示,“假”用關鍵字`false`表示。布爾值只有這兩個值。 下列運算符會返回布爾值: * 前置邏輯運算符:`!`(Not) * 相等運算符:`===`,`!==`,`==`,`!=` * 比較運算符:`>`,`>=`,`<`,`<=` 如果 JavaScript 預期某個位置應該是布爾值,會將該位置上現有的值自動轉為布爾值。轉換規則是除了下面六個值被轉為`false`,其他值都視為`true`。 * `undefined` * `null` * `false` * `0` * `NaN` * `""`或`''`(空字符串) 布爾值往往用于程序流程的控制。 ~~~ if ('') { console.log('true'); } // 沒有任何輸出 ~~~ 上面代碼中,`if`命令后面的判斷條件,預期應該是一個布爾值,所以 JavaScript 自動將空字符串,轉為布爾值`false`,導致程序不會進入代碼塊,所以沒有任何輸出。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看