【问题标题】:why "\a" and "a" are the same thing in JavaScript?为什么 "\a" 和 "a" 在 JavaScript 中是一样的?
【发布时间】:2019-06-04 14:14:49
【问题描述】:

你知道 JavaScript 中的 "n" 和 "\n" 是不一样的,因为第二个是转义序列,但是为什么 "\a" 和 "a" 是一样的呢?如果你检查两个字符串的charCodeAt,你就会知道。 有人可以向我解释吗? JavaScript 中究竟定义了什么转义序列?

【问题讨论】:

  • 因为\a没有转义序列,所以它只是解析为a
  • \a 是一个转义的 a。在大多数情况下完全没有必要。

标签: javascript


【解决方案1】:

\a 不是特殊序列(如\n\t),因此\ 回退为转义字符,这意味着它后面的字符将按字面意思使用(即使它是引号或特殊字符)。

因此,'\a' === 'a'

反斜杠的第二个目的(第一个是用\n 打印换行符或用\t 打印TAB 等特殊字符)是为了转义JavaScript 特殊字符。例如,要使字符串包含引号,您可以用双引号 "'" 标记字符串,或者如果使用单引号,则需要使用反斜杠转义,如下所示:'\'',以防止出现文字' 终止字符串。

【讨论】:

    【解决方案2】:

    正如您在this answer 中所见,并非每个字母都有关联的转义序列。 'a' 是没有与之关联的转义序列的字母之一,因此对于 Javascript,没有特殊含义,它只是一个反斜杠和字母 'a'。

    【讨论】:

      【解决方案3】:

      只有几个字母与反斜杠形式的转义序列组合(如 \n、\f、\r、\b、\t、\v)并且 \a 不在列表中。 请参考以下链接 https://www.w3schools.com/js/js_strings.asp

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-02
        • 2020-03-01
        • 2012-11-26
        • 2013-05-31
        • 1970-01-01
        • 2019-08-07
        • 2019-12-18
        • 2022-12-07
        相关资源
        最近更新 更多