gpt4 book ai didi

javascript - Chromium 和 Safari 中不同的 `String` 函数行为

转载 作者:行者123 更新时间:2023-12-05 02:29:03 25 4
gpt4 key购买 nike

如果您在浏览器控制台中运行以下代码,那么您在 Chromium 和 Safari 中会得到不同的结果。

String(function() { <!--
}).length

Chromium 返回:

19

Safari 返回:

20

为什么?

注1

通过 StackOverflow 代码编辑器运行将提供相同的输出,无论浏览器如何,这可能是由于原始输出和浏览器窗口之间存在不同级别的中介。

注2

呈现到控制台的 toString 输出不同:

Chrome :

'function() { \x3C!--\n}'

Safari :

"function () { <!--
}"

编辑

这包含对此问题的早期版本的更正,该版本对结果的解释不正确。

最佳答案

这里的原因不是不同的换行符号,而是实际上 Safari 在其语法中的 () 函数括号前添加了一个空格。试试这个以更轻松地并排比较字符:

String(function() {
}).split("")

你会看到在Chrome中,它会写成

函数()

而在 Safari 中它变成了

函数()

关于javascript - Chromium 和 Safari 中不同的 `String` 函数行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72362075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com