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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

一文帶你搞懂JavaScript中轉(zhuǎn)義字符的使用

瀏覽:119日期:2022-06-01 15:33:54
目錄
  • 字符串中的轉(zhuǎn)義
    • 字母
    • 十六進(jìn)制數(shù)字
    • 八進(jìn)制數(shù)字
    • Unicode碼點(diǎn)
  • 正則表達(dá)式中的轉(zhuǎn)義
    • HTML中的轉(zhuǎn)義
      • URL轉(zhuǎn)義字符

        說(shuō)起轉(zhuǎn)義字符,大家最先想到的肯定是使用反斜杠,這也是我們最常見(jiàn)的,很多編程語(yǔ)言都支持。

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

        除了反斜杠以外,在前端開(kāi)發(fā)中,還有其他幾種轉(zhuǎn)義字符,也是較常見(jiàn)的,本文將對(duì)這些做一個(gè)總結(jié)。

        字符串中的轉(zhuǎn)義

        使用反斜杠來(lái)表示轉(zhuǎn)義字符時(shí),主要是在字符串中使用。這里就需要了解字符集和編碼等知識(shí),具體可見(jiàn)前文前端開(kāi)發(fā)中需要搞懂的字符編碼。

        字符集就是字符的集合,最常見(jiàn)的 ASCII字符集、Unicode字符集等:

        ASCII的任一個(gè)字符都可以被轉(zhuǎn)義,使用的就是反斜杠加上數(shù)字編碼,特殊的也能使用反斜杠加上字母。

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

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

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

        • 字母
        • 三位八進(jìn)制
        • x 加上 兩位十六進(jìn)制
        • Unicode碼點(diǎn)

        字母

        轉(zhuǎn)義字符中最基礎(chǔ)的就是:使用反斜杠\加上字母,表示那些無(wú)法輸入表示特殊含義的字符,常見(jiàn)的有以下幾種:

        • \b 后退鍵
        • \f 換頁(yè)符
        • \n 換行符
        • \r 回車(chē)鍵
        • \t 制表符
        • \v 垂直制表符

        以前在字符串拼接時(shí),就經(jīng)常使用\n、\t:

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

        需要注意的是,這些字母是特殊的可應(yīng)用于轉(zhuǎn)義的字母。

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

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

        十六進(jìn)制數(shù)字

        十六進(jìn)制更常用,它的轉(zhuǎn)義規(guī)則:\x<hex>\x后跟上2位十六進(jìn)制數(shù)。

        因?yàn)橹挥袃晌唬秶牵?x00-0xFF,所以這種方式也只能輸出265種字符,其中:

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

        八進(jìn)制數(shù)字

        反斜杠后面跟3位八進(jìn)制數(shù)(),就代表一個(gè)轉(zhuǎn)義字符:

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

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

        八進(jìn)制和十六進(jìn)制能轉(zhuǎn)義的字符是一樣的,進(jìn)行進(jìn)制轉(zhuǎn)換即可,見(jiàn)前文搞懂JavaScript中的進(jìn)制與進(jìn)制轉(zhuǎn)換。

        在JS中,用這兩種方式的轉(zhuǎn)義字符是相等的:

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

        Unicode碼點(diǎn)

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

        Unicode字符規(guī)定了碼點(diǎn)和字符平面。

        碼點(diǎn)使用從U+0000到U+10FFFF的方位來(lái)表示所有的字符。

        如果直接使用碼點(diǎn)來(lái)轉(zhuǎn)義所有的Unicode字符,則使用規(guī)則:\u{<hex>}\u后跟上1-6位的十六進(jìn)制:

        "\u{A9}" // "?"
        "\u{597d}" // "好"
        "\u{1f604}" // "
        標(biāo)簽: JavaScript
        主站蜘蛛池模板: 和老外3p爽粗大免费视频 | 午夜日本一区二区三区 | 特级淫片日本高清视频 | 97视频免费观看2区 97视频免费上传播放 | 国产精品免费久久 | 国产精品青草久久福利不卡 | 亚洲欧美韩国 | 成人欧美 | 欧美真人视频一级毛片 | 成年午夜一级毛片视频 | 久久男人的天堂色偷偷 | 一级作爱视频免费观看 | 永久免费精品视频 | 国产美女白丝袜精品_a不卡 | 久久久一本精品99久久精品66 | 日本久久久久一级毛片 | 在线播放人成午夜免费视频 | 久久免费国产精品一区二区 | 亚洲人成亚洲人成在线观看 | 2019国产精品 | 欧美激情精品久久久久久久九九九 | 美女张开腿黄网站免费 | 国产一二三区精品 | 日韩精品亚洲人成在线观看 | 初爱视频教程在线观看高清 | 韩国本免费一级毛片免费 | 美女黄色一级片 | 成人欧美精品一区二区不卡 | 国产露脸3p普通话 | 国产一级片播放 | 长腿嫩模打开双腿呻吟 | 97视频免费公开成人福利 | 久久久久18 | 一区二区三区日韩 | 国产91会所洗浴女技师按摩 | 亚洲精品一区二区三区五区 | 搞黄网站免费看 | 国产成人精品午夜二三区 | 国产精品久久久久久久人热 | 亚洲国产一区二区三区综合片 | 在线成人播放毛片 |