繁体   English   中英

为什么“ \\ a”和“ a”在JavaScript中是相同的东西?

[英]why “\a” and “a” are the same thing in JavaScript?

您知道JavaScript中的“ n”和“ \\ n”不相同,导致第二个是转义序列,但是为什么“ \\ a”和“ a”相同? 如果检查两个字符串中的charCodeAt,就会知道。 有人可以向我解释吗? JavaScript中到底定义了什么转义序列?

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

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

反斜杠的第二个目的(第一个目的是转义特殊字符,如换行符\\n或TAB的\\t ),是转义JavaScript特殊字符。 例如,要使一个包含引号的字符串,可以用双引号"'"标记该字符串,或者如果使用单引号,则需要使用反斜杠进行转义,例如: '\\'' ,以防止文字'从终止的字符串。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM