<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 一、概述 ### 1.1 定義 字符串就是零個或多個排在一起的字符,放在單引號或雙引號之中。 ~~~ 'abc' "abc" ~~~ 單引號字符串的內部,可以使用雙引號。雙引號字符串的內部,可以使用單引號。 ~~~ 'key = "value"' "It's a long journey" ~~~ 如果要在單引號字符串的內部,使用單引號,就必須在內部的單引號前面加上反斜杠,用來轉義。雙引號字符串內部使用雙引號,也是如此。 ~~~ 'Did she say \'Hello\'?' // "Did she say 'Hello'?" "Did she say \"Hello\"?" // "Did she say "Hello"?" ~~~ 由于 HTML 語言的屬性值使用雙引號,所以很多項目約定 JavaScript 語言的字符串只使用單引號。當然,只使用雙引號也完全可以。重要的是堅持使用一種風格,不要一會使用單引號表示字符串,一會又使用雙引號表示。 * 如果長字符串必須分成多行,可以在每一行的尾部使用反斜杠。 ~~~ var longString = 'Long \ long \ long \ string'; longString // "Long long long string" ~~~ * 連接運算符(`+`)可以連接多個單行字符串,將長字符串拆成多行書寫,輸出的時候也是單行。 ~~~ var longString = 'Long ' + 'long ' + 'long ' + 'string'; ~~~ ### 1.2 轉義 反斜杠(\\)在字符串內有特殊含義,用來表示一些特殊字符,所以又稱為轉義符。 需要用反斜杠轉義的特殊字符,主要有下面這些。 * `\0`:null(`\u0000`) * `\b`:后退鍵(`\u0008`) * `\f`:換頁符(`\u000C`) * `\n`:換行符(`\u000A`) * `\r`:回車鍵(`\u000D`) * `\t`:制表符(`\u0009`) * `\v`:垂直制表符(`\u000B`) * `\'`:單引號(`\u0027`) * `\"`:雙引號(`\u0022`) * `\\`:反斜杠(`\u005C`) 上面這些字符前面加上反斜杠,都表示特殊含義。 ~~~ console.log('1\n2') // 1 // 2 ~~~ 上面代碼中,`\n`表示換行,輸出的時候就分成了兩行。 ### 1.3 字符串與數組 字符串可以被視為字符數組,因此可以使用數組的方括號運算符,用來返回某個位置的字符(位置編號從0開始)。 ~~~ var s = 'hello'; s[0] // "h" s[1] // "e" s[4] // "o" // 直接對字符串使用方括號運算符 'hello'[1] // "e" ~~~ 如果方括號中的數字超過字符串的長度,或者方括號中根本不是數字,則返回`undefined`。 ~~~ 'abc'[3] // undefined 'abc'[-1] // undefined 'abc'['x'] // undefined ~~~ 字符串內部的單個字符無法改變和增刪。 ~~~ var s = 'hello'; delete s[0]; s // "hello" s[1] = 'a'; s // "hello" s[5] = '!'; s // "hello" ~~~ ### 1.4 length 屬性 `length`屬性返回字符串的長度,該屬性也是無法改變的。 ~~~ var s = 'hello'; s.length // 5 s.length = 3; s.length // 5 s.length = 7; s.length // 5 ~~~ 上面代碼表示字符串的`length`屬性無法改變,但是不會報錯。 ## 二、字符集 JavaScript 使用 Unicode 字符集。JavaScript 引擎內部,所有字符都用 Unicode 表示。 JavaScript 不僅以 Unicode 儲存字符,還允許直接在程序中使用 Unicode 碼點表示字符,即將字符寫成`\uxxxx`的形式,其中`xxxx`代表該字符的 Unicode 碼點。比如,`\u00A9`代表版權符號。 ~~~ var s = '\u00A9'; s // "?" ~~~ 解析代碼的時候,JavaScript 會自動識別一個字符是字面形式表示,還是 Unicode 形式表示。輸出給用戶的時候,所有字符都會轉成字面形式。 ~~~ var f\u006F\u006F = 'abc'; foo // "abc" ~~~ 上面代碼中,第一行的變量名`foo`是 Unicode 形式表示,第二行是字面形式表示。JavaScript 會自動識別。 我們還需要知道,每個字符在 JavaScript 內部都是以16位(即2個字節)的 UTF-16 格式儲存。也就是說,JavaScript 的單位字符長度固定為16位長度,即2個字節。 JavaScript 對 UTF-16 的支持是不完整的,由于歷史原因,只支持兩字節的字符,不支持四字節的字符。這是因為 JavaScript 第一版發布的時候,Unicode 的碼點只編到`U+FFFF`,因此兩字節足夠表示了。后來,Unicode 納入的字符越來越多,出現了四字節的編碼。但是,JavaScript 的標準此時已經定型了,統一將字符長度限制在兩字節,導致無法識別四字節的字符。
                  <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>

                              哎呀哎呀视频在线观看