向原型添加功能不起作用

时间:2015-10-24 02:34:56

标签: javascript

我正在尝试像这样添加一个原型函数

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

请告诉我哪里错了。感谢。

1 个答案:

答案 0 :(得分:6)

此行评估函数并将返回值undefined设置为Dog.prototype.bark

Dog.prototype.bark = barkWithMe();

将其更改为:

Dog.prototype.bark = barkWithMe;