哪个是更好的 Javascript 对象模式......
function dog(name) {
this.name = name;
this.getName = function() {
return this.name;
};
};
OR
function cat(name) {
this.name = name;
};
cat.prototype.getName = function() {
return this.name;
};
AND WHY?
----- 编辑
其中一个使用更多内存吗?
其中一个的“CPU”密集程度比另一个高还是低?
哪个更易于维护?
哪个更具可扩展性?
哪个更具可读性?
撇开偏好不谈,第二个例子是“正确的”例子。在第一个中,您正在创建一个新的getName
每个对象的函数。 2、所有用这个构造函数创建的对象都会共享prototype/getName
。在一个地方更改它,它会针对每个实例而更改。
在特殊场合(例如复杂的继承链),您可能需要使用第一个,但请注意它的缺点。
这篇博文 http://yehudakatz.com/2011/08/12/understanding-prototypes-in-javascript/可能会帮助您更好地理解原型继承。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)