如果我在 jsFiddle 中运行它:
function Animal() {
}
var animal = new Animal();
console.log(animal);
console.log(Animal.prototype);
console.log(animal.__proto__);
Animal {}
然后我在 Chrome 的 DevTool 窗口的控制台中得到这些结果(3x ):
Animal {} (index):26
Animal {} (index):27
Animal {} (index):28
我认为这很令人困惑,因为我们只知道Animal.prototype
并且animal.__proto__
在这种情况下指向同一个对象。还是有合理的理由这样做?