我与原型方法工作,这里是之情况Javascript - 使用本地var还是这个?
function Foo() {
this.x = 5;
this.y = 2;
this.z = this.addValues();
}
Foo.prototype = {
addValues: function(){
return this.x + this.y;
}
}
显然,这只是一个简单的例子;在真正的项目中,'addValue'函数中会有很多活动。使用'this'关键字100s的时间或者将其缓存到局部变量有助于任何性能改进。例如,下面会有什么区别?
Foo.prototype = {
addValues: function(){
var self = this;
return self.x + self.y;
}
}
后者通常只在需要保存当前上下文时使用,因为“this”即将更改。 – 2011-12-20 02:10:17
'this'(有效)是一个局部变量,它在进入执行上下文时被设置。所以使用它应该与局部变量具有相同的性能,可能会更快。 – RobG 2011-12-20 02:14:06