JavaScript转义字符串don’;不能使用Firefox开发工具
当我在Firefox上尝试转义字符串时,我注意到转义字符串在Firefox开发工具上不起作用,除非它们位于JavaScript转义字符串don’;不能使用Firefox开发工具,javascript,firefox,escaping,firefox-developer-tools,Javascript,Firefox,Escaping,Firefox Developer Tools,当我在Firefox上尝试转义字符串时,我注意到转义字符串在Firefox开发工具上不起作用,除非它们位于控制台.log()或警报()消息中 例如,如果您只是在控制台内键入以下消息: "The man whispered, \"please speak to me.\"" 结果将与您键入的内容完全相同: "The man whispered, \"please speak to me.\"" 但是,如果将消息包含在console.log()中,则它可以正常工作: 输入: console.lo
控制台.log()或警报()消息中
例如,如果您只是在控制台内键入以下消息:
"The man whispered, \"please speak to me.\""
结果将与您键入的内容完全相同:
"The man whispered, \"please speak to me.\""
但是,如果将消息包含在console.log()
中,则它可以正常工作:
输入:
console.log("The man whispered, \"please speak to me.\"");
输出:
The man whispered, "please speak to me."
我不知道这是某种bug还是有更深层次的东西我不知道,所以我把它贴在这里,我希望有人能对此进行详细说明。Firefox的Web控制台作为一个窗口和一个窗口控制台
转储其输出的地方发挥双重作用。当您在Web控制台中键入'“
时,它将该字符串作为一行Javascript进行读取和求值,并以它认为可以使用的形式向您提供返回值。由于'“
求值为字符串,Firefox将该结果作为字符串文本,“\”“
。但它仍然只包含一个字符,U+0022引号。通过进一步的测试,您可以看到这一点:
» var str = '"'
⬅ undefined
» str
⬅ "\""
» str.length
⬅ 1
» str.charCodeAt(0)
⬅ 34
另一方面,当您使用console.log()
时,Web控制台会将提供给console.log
的对象作为日志消息转储。Firefox对什么是有用的日志消息有不同的想法:对于字符串,易于阅读的消息比可以复制回代码中的字符串文本要好。因此,
控制台日志(str)
“调试器评估代码:1:1
⬅ 未定义
注意底部的未定义的:控制台仍在应答。“
行是Console.log
侵入您的对话。Firefox的Web控制台作为一个窗口和窗口的双重职责。控制台转储其输出。当您在Web控制台中键入'“
时,它将该字符串作为一行Javascript进行读取和求值,并以它认为可以使用的形式向您提供返回值。由于'“
求值为字符串,Firefox将该结果作为字符串文本,“\”“
。但它仍然只包含一个字符,U+0022引号。通过进一步的测试,您可以看到这一点:
» var str = '"'
⬅ undefined
» str
⬅ "\""
» str.length
⬅ 1
» str.charCodeAt(0)
⬅ 34
另一方面,当您使用console.log()
时,Web控制台会将提供给console.log
的对象作为日志消息转储。Firefox对什么是有用的日志消息有不同的想法:对于字符串,易于阅读的消息比可以复制回代码中的字符串文本要好。因此,
控制台日志(str)
“调试器评估代码:1:1
⬅ 未定义
请注意底部的未定义的
:控制台仍在应答。“
行是控制台。日志
干扰了您的对话。我现在明白了。非常解析的回答!非常感谢。我现在明白了。非常解析的回答!非常感谢。