这个问题很简单,但是不知道为什么,我在谷歌上搜索了10分钟,到处都找不到答案。在 Javascript 中打印时如何显示转义字符?
例如:
str = "Hello\nWorld"; console.log(str);
给予:
Hello World
当我想要它给予的时候:
Hello\nWorld
你必须避免使用反斜杠,所以试试这个:
str = "Hello\\nWorld";
这里 是 Javascript 中更多的转义字符。
如果你的目标是
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)} (0x${json.charCodeAt(i).toString(16).toUpperCase().padStart(4, "0")})`); }
.as-console-wrapper { max-height: 100% !important; }
console.log添加了外部引号(至少在 Chrome 的实现中是这样) ,但其中的内容是字符串文字(是的,这有点让人困惑)。
console.log
JSON.stringify接受您提供的内容(在本例中是一个字符串) ,并返回一个包含该值的有效 JSON 的字符串。因此,对于上面的代码,它返回一个开始引号(")、单词 Hello、反斜杠(\)、字母 n、单词 World和结束引号(")。字符串中的 linefeed 在输出中转义为 \和 n,因为这是在 JSON 中编码 linefeed 的方式。其他转义序列也是类似的编码。
"
Hello
\
n
World
JavaScript 使用(反斜杠)作为转义字符:
注意,在 JSON 字符串中不允许 v 和0转义。