我正在学习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
是Animal类原型的一种方法。
但是,我在后面的行中将该方法添加到原型中。如果控制流尚未在我的代码中使用,为什么控制台注意到原型具有makeSound
方法?
答案 0 :(得分:6)
控制台是“现场”。即使你先记录它,它也会反映出后来的变化。
据我所知,它在对象,函数,数组上的行为与此类似。但是如果你记录字符串,布尔值和数字,它们会记录它们记录时的含义。