老问题,问了很多次,回答了很多次,但有点扭曲。首先是原型版本:
someA = function() {
this.val = 'a';
}
someA.prototype.getVal = function() {
return this.val;
}
现在另一个版本:
someA = function() {
this.val = 'a';
this.getVal = function() {
return this.val;
}
}
现在,假设 getVal() 函数是HUGE,您将创建数以千计的 someA 对象,但无论出于何种原因,您想使用 this.getVal 版本?如果我们这样写会怎样:
someA =function() {
this.val = 'a';
this.getVal = this._getVal;
}
someA.prototype._getVal = function() {
return this.val;
}
这样做,你是否会同时拥有两者的优势?
ps 在一个完全不同(但仍然有些相关)的主题上,如何在问题或答案之一中添加问题和评论?
已编辑:将所有出现的情况更改return val
为return this.val
-- 愚蠢的错误 ;-)