非常简单的问题,但是由于某种原因,在谷歌搜索10分钟后,我在任何地方都找不到答案。使用JavaScript打印时如何显示转义符?
例:
str = "Hello\nWorld"; console.log(str);
给出:
Hello World
当我要它给:
Hello\nWorld
如果你的目标是
str = "Hello\nWorld";
并以字符串文字形式输出它包含的内容,您可以使用JSON.stringify:
JSON.stringify
console.log(JSON.stringify(str)); // ""Hello\nWorld"" const str = "Hello\nWorld"; const json = JSON.stringify(str); console.log(json); // ""Hello\nWorld"" for (let i = 0; i < json.length; ++i) { console.log(`${i}: ${json.charAt(i)}`); } .as-console-wrapper { max-height: 100% !important; }
console.log 添加外引号(至少在Chrome的实现中),但是其中的内容是字符串文字(是的,这有点令人困惑)。
console.log
JSON.stringify接受您提供的内容(在这种情况下为字符串),并返回包含该值的有效JSON的字符串。因此,对于上面的代码,它返回一个开头引号("),单词Hello,反斜杠(\),字母n,单词World和结尾引号(")。字符串中的换行符在输出中以\和进行转义,n因为这就是在JSON中编码换行符的方式。其他转义序列也进行了类似的编码。
"
Hello
\
n
World