<分区>
在 Chrome 39 开发者工具中,这段代码:
var something = [
{x: 'foo'},
{x: 'foo'}
];
console.log(something);
something.forEach(function (element) {
element['x'] = 'baz';
});
...输出:
为什么 console.log
甚至在修改之前就输出修改后的值?
类似 question from 2012 解释说由于 chromium bug ,console.log
是“延迟的”(不会立即对输入对象进行字符串化)。但是这个错误被标记为已修复,那么为什么几年后仍然会出现这种情况?