为什么控制台注意到我在这样做之前更改了原型

Why is console noting that I changed my prototype before I do?

本文关键字:原型 这样做 控制台 注意到 为什么      更新时间:2023-09-26

我正在学习Javascript原型,并用这个javascript做了一个小提琴(http://jsfiddle.net/3MuZa/1/):

function Animal(name, sound) {
    this.name = name;
    this.sound = sound;
}
var dog = new Animal("Dog", "Bark");
console.debug(dog.__proto__);
Animal.prototype.makeSound = function() {console.log(this.sound);};

有趣的是,console.debug(dog.__proto__);揭示了makeSound是动物类原型的一种方法。

但是,我将该方法添加到后面一行的原型中。如果控制流尚未在我的代码中到达原型,为什么控制台会注意到原型具有makeSound方法?

控制台是"实时"的。 即使您先记录它,它也将反映以后的更改。

据我所知,它在对象、函数、数组上的行为就是这样。但是,如果您记录字符串、布尔值和数字,它们会打印它们在记录时的含义。

相关文章: