Console.log() 在 Chrome 中记录对象和数组时出现不一致
在 Google Chrome 中,使用 console.log( 时会出现意外行为) 来记录嵌套数组或对象。如果在记录后修改数组或对象的最里面的值,console.log() 将显示修改后的值,而不是记录时的原始值。
重现步骤
重现问题:
这种不一致也会影响存储在变量(testb、testc)中的对象和数组。
潜在问题
经过广泛研究,这是发现此问题之前被报告为 WebKit 中的错误 (https://bugs.webkit.org/show_bug.cgi?id=35801)。 Chromium 开发人员承认了该问题,但表示由于技术限制,不太可能修复。
修复和不一致
但是,2012 年在 WebKit 中实现了修复。尽管如此,谷歌浏览器尚未采用该修复程序。因此,console.log() 的行为会根据日志记录时控制台窗口是否打开而有所不同。
结论
Google Chrome 的 console.log() 功能中的此错误仍然存在并影响调试工作。建议注意这种不一致并考虑替代调试方法,直到问题在 Chrome 中得到解决。
以上是为什么 Console.log() 在 Chrome 中显示修改后的值而不是原始值?的详细内容。更多信息请关注PHP中文网其他相关文章!