只是在Javascript中考虑,通常我们将方法放在原型中,这可以避免代码重复。
我想知道是否存在我们需要将方法作为非原型方法的实际情况?如果是的话,你能提供一些例子。
答案 0 :(得分:0)
想象一个代表动物的物体。所有动物都可以行走,所以让我们添加一个walk()
函数作为原型。
function Animal(name) {
this.name = name;
}
Animal.prototype.walk = function () {
console.log(this.name + ' is walking');
};
您现在可以创建一个实例:
var cat = new Animal('Cat');
cat.walk();
然而,有些动物与其他动物不同。例如,猫不能吠叫,但狗可以。因此bark()
函数不能成为原型的一部分。您需要将其添加到实例。
var dog = new Animal('Dog');
dog.bark = function () {
console.log(this.name + ' is barking');
};
dog.walk();
dog.bark();