【发布时间】:2021-07-31 17:04:51
【问题描述】:
我将从代码开始:
var s = ["hi"];
console.log(s);
s[0] = "bye";
console.log(s);
简单吧?对此,Firefox 控制台说:
[ "hi" ]
[ "bye" ]
很棒,但 Chrome 的 JavaScript 控制台(7.0.517.41 beta)说:
[ "bye" ]
[ "bye" ]
是我做错了什么,还是 Chrome 的 JavaScript 控制台在评估我的数组时异常懒惰?
【问题讨论】:
-
我在 Safari 中观察到相同的行为——所以它可能是 webkit 的东西。相当令人惊讶。我称之为错误。
-
对我来说它看起来像一个错误。在 Linux Opera 和 Firefox 上显示预期结果,Chrome 和其他基于 Webkit 的浏览器不会。您可能希望将问题报告给 Webkit 开发人员:webkit.org/quality/reporting.html
-
截至 2016 年 3 月,此问题已不再存在。
-
2020 年 4 月,在 Chrome 中遇到此问题。浪费了 2 个小时在我的代码中寻找一个错误,结果证明是 Chrome 中的一个错误。
-
另外值得注意的是,蓝色的
i图标的工具提示显示“刚刚评估了下面的值。”。
标签: javascript google-chrome javascript-objects console.log