Chrome 带数字的控制台反斜杠
Chrome console backslash with numbers
为什么 chrome 控制台将以反斜杠开头的数字转换为 unicode,或者在某些情况下转换为特殊字符,如“\b、\t、\f”等?在 \8 和 \9 的情况下,它甚至只返回数字本身?这背后的逻辑是什么?
您可以通过在 chrome 中打开控制台并输入字符串来测试它。
以下是一些示例:
"[=11=]" - outputs "\u0000"
"" - outputs "\u0001"
"" - outputs "\u0002"
"" - outputs "\u0003"
"" - outputs "\u0004"
"" - outputs "\u0005"
"" - outputs "\u0006"
"" - outputs "\u0007"
"" - outputs "8" ???
"" - outputs "9" ???
"" - outputs "\b"
"" - outputs "\t"
"" - outputs "\n"
"" - outputs "\u000b"
"" - outputs "\f"
"" - outputs "\r"
"" - outputs "\u000e"
"" - outputs "\u000f"
"" - outputs "\u00018"
"" - outputs "\u00019"
"" - outputs "\u00010"
这可能是因为 </code> 和 <code>
在 javascript 中是 invalid octal escape sequences。
\[0-7]
、\[0-7][0-7]
、\[0-7][0-7][0-7]
是八进制转义序列,在</code>(八进制)处很明显 == <a href="https://unicode-explorer.com/c/0008" rel="nofollow noreferrer"><code>\u0008
(hex/unicode) == \b
(退格键)。
对我来说,奇怪的是
没有被视为无效的八进制转义序列,而是被视为十六进制...
为什么 chrome 控制台将以反斜杠开头的数字转换为 unicode,或者在某些情况下转换为特殊字符,如“\b、\t、\f”等?在 \8 和 \9 的情况下,它甚至只返回数字本身?这背后的逻辑是什么?
您可以通过在 chrome 中打开控制台并输入字符串来测试它。 以下是一些示例:
"[=11=]" - outputs "\u0000"
"" - outputs "\u0001"
"" - outputs "\u0002"
"" - outputs "\u0003"
"" - outputs "\u0004"
"" - outputs "\u0005"
"" - outputs "\u0006"
"" - outputs "\u0007"
"" - outputs "8" ???
"" - outputs "9" ???
"" - outputs "\b"
"" - outputs "\t"
"" - outputs "\n"
"" - outputs "\u000b"
"" - outputs "\f"
"" - outputs "\r"
"" - outputs "\u000e"
"" - outputs "\u000f"
"" - outputs "\u00018"
"" - outputs "\u00019"
"" - outputs "\u00010"
这可能是因为 </code> 和 <code>
在 javascript 中是 invalid octal escape sequences。
\[0-7]
、\[0-7][0-7]
、\[0-7][0-7][0-7]
是八进制转义序列,在</code>(八进制)处很明显 == <a href="https://unicode-explorer.com/c/0008" rel="nofollow noreferrer"><code>\u0008
(hex/unicode) == \b
(退格键)。
对我来说,奇怪的是 没有被视为无效的八进制转义序列,而是被视为十六进制...