javascript - 在javascript中输入一个正斜杠

标签 javascript string

我想在 Javascript 中生成字符串“\”,但似乎做不到。如果我只写“\”,我会得到编译时错误,因为“本身被转义了。但是如果我写“\\”,我会得到两个斜杠作为输出。那么我如何生成一个带有单个正斜杠的字符串?

最佳答案

字符 / 是一个斜杠。字符 \ 是反斜杠。

反斜杠 \ 在 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,并假设这是不正确的:

I am writing '\' as the key to a JSON package. The result is something like "READY_TO_PRINT_DATE":"/\\Date(1403911292:981000+420)\\/".

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

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

关于javascript - 在javascript中输入一个正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24495486/

相关文章:

javascript - 使用 Chrome 存储而不是本地存储创建 Parse session

javascript - 如何使用字符串定位对象?

c++ - unsigned long(u32_t) 转换为字符串数组

c# - 使用 Sha256 散列字符串

java - 在java中删除字符串末尾的空格

提取字符串崩溃的代码

javascript - 刷新页面时,AngularJS 路由返回 404 错误

javascript - 正则表达式在引号(和新行)之间的匹配中包含引号

javascript - 在 Angular.js 中使用 ngRoute 时出现错误

python - 在循环中逐字符迭代字符串