我正在努力理解写作时的不同之处:
var Foo = function (){
this.name = 'abc';
this.alertName1 = function(){
alert(this.name);
}
}
Foo.prototype.alertName2 = function(){
alert(this.name);
}
两种方法都可用并且正确,但何时使用问题是什么?
答案 0 :(得分:2)
当你向原型添加一个函数时,无论你实例化Foo多少次,它都只存在于一个地方。
在构造函数中添加函数时,每次实例化时都会创建一个新副本,因此效率较低。