您知道JavaScript中的“ n”和“ \ n”不相同,导致第二个是转义序列,但是为什么“ \ a”和“ a”相同?如果检查两个字符串中的charCodeAt,就会知道。 有人可以向我解释吗? JavaScript中到底定义了什么转义序列?
答案 0 :(得分:4)
\a
不是一个特殊的序列(例如\n
或\t
),因此\
退回到了转义字符,这意味着后面的字符将可以原样使用(即使它是引号或特殊字符)。
因此,'\a' === 'a'
。
反斜杠的第二个用途(第一个是使用\n
打印特殊字符,如换行符,或者使用\t
打印TAB),是转义JavaScript特殊字符。例如,要使字符串包含引号,则可以用双引号"'"
标记该字符串,或者如果使用单引号,则需要使用反斜杠进行转义,例如:'\''
,以防止文字'
终止字符串。
答案 1 :(得分:0)
正如您在this answer中所见,并非每个字母都有相关的转义序列。 'a'是没有关联转义序列的字母之一,因此对于Javascript,没有特殊含义,只是反斜杠和字母'a'。
答案 2 :(得分:-1)
只有几个字母与反斜杠形式的转义序列组合在一起(例如\ n,\ f,\ r,\ b,\ t,\ v),而\ a不在列表中。 请参考以下链接 https://www.w3schools.com/js/js_strings.asp