我在一些测试中看到,使用原型方法可以提高代码执行的性能并减少内存消耗,因为方法是按类创建的,而不是按对象创建的。同时我想在我的类中使用模块模式,因为它看起来更好并且允许使用私有属性和方法。
代码布局如下:
var MyClass = function() {
var _classProperty = "value1";
var object = {
classProperty : _classProperty
};
object.prototype = {
prototypeProperty = "value2"
}
return object;
}
但是这种情况下的原型不起作用。我发现原因是为函数而不是对象设置了原型。所以我想我应该使用object.__proto__.prototype
而不是只是object.prototype
. 但__proto__
并非所有浏览器都支持,也不符合 ECMAScript5 规则。
那么有没有更好的方法在模块模式对象构造函数中使用原型呢?