我正在學習關於JavaScript的原型,並提出了小提琴(http://jsfiddle.net/3MuZa/1/)與此javascript:爲什麼控制檯注意到我之前改變了我的原型?
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
方法?
在最後一行設置一個斷點。執行到那個斷點。檢查控制檯。你會看到'makeSound'不存在。 – 2012-04-21 23:26:21
謝謝!確實,設置一個斷點並檢查局部變量表明'makeSound'方法不存在。 – 2012-04-21 23:41:51