在javascript中键入单个正斜杠

时间:2014-06-30 17:16:19

标签: javascript string

我想生成字符串" \"在Javascript但似乎无法做到这一点。如果我只写#34; \",我会得到编译时错误,因为"本身就逃脱了。但是,如果我做" \\",我会得到两个斜杠作为输出。那么如何使用单个正斜杠生成字符串?

2 个答案:

答案 0 :(得分:1)

字符/是斜线。字符\是反斜杠。

反斜杠\用作JavaScript和JSON中字符串的转义字符。某些字符需要从字符串文字中删除歧义。这个字符串含糊不清:

'He's going to the park'

有三个单引号'标记,解析器不知道字符串的一部分是什么,不是什么。我们可以使用反斜杠来转义我们想要表示字符'的字符而不是字符串文字的关闭(也是')。

'He\'s going to the park'

现在,如果反斜杠具有特殊含义,我们如何在字符串中表示字面反斜杠\字符?只需使用反斜杠\转义反斜杠\

'C:\\DOS\\command.com' // In memory this is:  C:\DOS\command.com

请记住,此转义仅适用于代码或JSON中字符串的文本表示。代码被解析,内存中的字符串是我们所期望的,所有转义都被解析为正确的字符。

现在你的问题询问JSON并假设这是不正确的:

  

我正在写' \'作为JSON包的关键。结果类似于"READY_TO_PRINT_DATE":"/\\Date(1403911292:981000+420)\\/"

JSON需要与您在JavaScript中找到的相同的转义,并且出于同样的原因......从字符串中删除歧义。字符串/\\Date(1403911292:981000+420)\\/的JSON版本是您正确表示实际字符串/\Date(1403911292:981000+420)\/的方式。

我希望这有助于消除你的一些困惑。

答案 1 :(得分:0)

你可以逃避斜线:

myvar = "\\";