7

我正在学习 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);};

有趣的是,<code>console.debug(dog.__proto__); 揭示了这makeSound是Animal类原型的一个方法。

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

4

1 回答 1

6

控制台是“活的”。即使您先记录它,它也会反映以后的更改。

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

于 2012-04-21T23:23:14.970 回答