1
我想添加一個函數原型這樣添加函數原型不起作用
function Dog(name, breed) {
this.name = name;
this.breed = breed;
}
function barkWithMe() {
console.log("woof woof i am " + this.name);
}
Dog.prototype.bark = barkWithMe();
var snoopy = new Dog();
snoopy.bark();
但它會顯示錯誤
Uncaught TypeError: snoopy.bark is not a function
請告訴我,我錯了。謝謝。
您正在執行的功能和指派返回值,不分配功能本身 –
@Patrick謝謝 –
調試你的程序。請在'Dog.prototype.bark ='行中設置斷點。跨過它。您會注意到該消息已被記錄 - 這會提醒您發生了一些奇怪的事情。然後你會檢查'Dog.prototype.bark'的值,並發現它是'未定義的' - 又一個線索。從那裏發現你不經意地調用'barkWithMe'而不是將它分配給原型。 –