Chrome 开发工具中的奇怪 console.log 行为?

Weird console.log behavior in Chrome dev tools?

在 Chrome 开发工具中,您 console.log 一个数组。它显示:(4)[Location, Location, Location, Location]:完美,这正是我所期望的。

你点击它,显示元素,它显示:

这怎么可能?

当元素在记录后被编辑时会发生这种情况。 Chrome 只是向您显示指向该元素的指针。如果 2 和 3 在 console.log() 之后被移除,它们会显示在预览中,但不会在您检查元素时显示。

console 将记录 array。您会在其中看到三个 properties。当你以后删除了一个属性,而你又打开了console。您只会看到剩余的 属性 .

查看此代码段,并检查浏览器中的 console

var array = [{name: 'helle'}, {name: 'Google'}, {name: 'Bonjour'}];

console.log(array);

delete array[2];
    

只是@Felix Gaebler 给出的答案的可视化