国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

一文帶你搞懂JavaScript中轉義字符的使用

瀏覽:95日期:2022-06-01 15:33:54
目錄
  • 字符串中的轉義
    • 字母
    • 十六進制數字
    • 八進制數字
    • Unicode碼點
  • 正則表達式中的轉義
    • HTML中的轉義
      • URL轉義字符

        說起轉義字符,大家最先想到的肯定是使用反斜杠,這也是我們最常見的,很多編程語言都支持。

        轉義字符從字面上講,就是能夠轉變字符原本的意義,得到新的字符。常用在特殊字符的顯示以及特定的編碼環境中。

        除了反斜杠以外,在前端開發中,還有其他幾種轉義字符,也是較常見的,本文將對這些做一個總結。

        字符串中的轉義

        使用反斜杠來表示轉義字符時,主要是在字符串中使用。這里就需要了解字符集和編碼等知識,具體可見前文前端開發中需要搞懂的字符編碼。

        字符集就是字符的集合,最常見的 ASCII字符集、Unicode字符集等:

        ASCII的任一個字符都可以被轉義,使用的就是反斜杠加上數字編碼,特殊的也能使用反斜杠加上字母。

        Unicode,也能進行轉義,使用則是反斜杠加上碼點。由于Unicode包含了ASCII的所有字符,且編碼一致,所以都可算編碼轉義,而現在前端編程所涉及到的已經都是Unicode字符。

        一般,反斜杠(\)在字符串中有特殊的含義,用來和后面的字符一起組合表示一些特殊字符,所以又被稱為轉義符。

        反斜杠后面可以跟著的字符大致有以下幾種:

        • 字母
        • 三位八進制
        • x 加上 兩位十六進制
        • Unicode碼點

        字母

        轉義字符中最基礎的就是:使用反斜杠\加上字母,表示那些無法輸入表示特殊含義的字符,常見的有以下幾種:

        • \b 后退鍵
        • \f 換頁符
        • \n 換行符
        • \r 回車鍵
        • \t 制表符
        • \v 垂直制表符

        以前在字符串拼接時,就經常使用\n、\t:

          "\n      " +
          console.log("test") +
          "\n    "

        需要注意的是,這些字母是特殊的可應用于轉義的字母。

        如果是非特殊字母,加上反斜杠,則會忽略反斜杠,很多字符也是同樣忽略反斜杠:

        "\a" // "a"
        "\"" // """
        "\?" // "?"

        十六進制數字

        十六進制更常用,它的轉義規則:\x<hex>\x后跟上2位十六進制數。

        因為只有兩位,范圍是:0x00-0xFF,所以這種方式也只能輸出265種字符,其中:

        • 0x00-0x7F 和ASCII碼一致
        • 0x80-0x9F 表示控制字符
        • 0xA0-0xFF 表示文字字符
        "\xA9" // "?"
        "\x75" === "u" // true
        "\x67" // "g"
        

        八進制數字

        反斜杠后面跟3位八進制數(),就代表一個轉義字符:

        "\251" // "?"
        "\165" === "u" // true
        "\106" // "F"
        

        取值范圍:000-377,總共也是有256種字符,其中就包含了所有的ASCII碼。

        八進制和十六進制能轉義的字符是一樣的,進行進制轉換即可,見前文搞懂JavaScript中的進制與進制轉換。

        在JS中,用這兩種方式的轉義字符是相等的:

        "\xA9" === "\251" // true
        "\200" === "\x80" // true
        

        Unicode碼點

        提到Unicode,首先需明確的一點,JS中的字符串是基于Unicode的UTF-16編碼方式。

        Unicode字符規定了碼點和字符平面。

        碼點使用從U+0000到U+10FFFF的方位來表示所有的字符。

        如果直接使用碼點來轉義所有的Unicode字符,則使用規則:\u{<hex>}\u后跟上1-6位的十六進制:

        "\u{A9}" // "?"
        "\u{597d}" // "好"
        "\u{1f604}" // "
        標簽: JavaScript
        主站蜘蛛池模板: 99视频国产在线 | 亚洲欧美日韩综合一区久久 | 中文字幕亚洲精品第一区 | 日韩特级黄色片 | 国产成人精品永久免费视频 | 国产一区二区播放 | 欧美野外性k8播放性迷宫 | 步兵社区在线观看 | 特黄a三级三级三级 | 加勒比综合| 久久91精品国产91久久小草 | 影院亚洲 | 国产成人一区二区视频在线观看 | 手机看片1024精品国产 | 亚洲欧美视频一区二区三区 | 国产黄色片在线观看 | 亚洲国产第一区二区三区 | 99久久免费精品 | 97人摸人人澡人人人超一碰 | 久久99久久精品视频 | 欧美亚洲影院 | 欧美成人久久久免费播放 | 成人怡红院 | 在线高清免费爱做网 | 国产美女自拍视频 | 国产免费午夜a无码v视频 | 日韩在线观看一区二区三区 | 午夜手机福利 | 国产三级视频在线播放 | 欧美成人在线免费 | 国产亚洲精 | 欧美激情综合亚洲五月蜜桃 | 国产丝袜不卡一区二区 | 在线观看欧美亚洲日本专区 | 97视频在线免费 | 大香伊蕉国产短视频69 | 精品一区二区三区免费视频 | 久久精品视频免费 | 美女国产福利视频 | 日本三级免费网站 | 9久9久热精品视频在线观看 |