我发现许多 javascript 开发人员创建的方法只是返回如下属性:
function Obj (prop) {
this.prop = prop; // public
}
Obj.prototype.getProp = function () {
return this.prop;
};
虽然 prop 是公开的,可以像这样访问:
var a = obj.prop;
此外,我发现使用方法访问对象属性比直接访问它慢 121 倍(在 Firefox 中)
var a, b,
obj = new Obj(1);
a = obj.prop;
// ~6ns on Chrome
// ~5ns on Firefox
b = obj.getProp();
// ~6ns on Chrome (no difference)
// ~730ns on Firefox (122x slower...)
所以我的问题是:我们应该始终创建返回属性的方法还是可以直接访问属性?那是反模式吗?