【发布时间】:2013-06-03 11:54:15
【问题描述】:
我在一些测试中看到,使用原型方法可以提高代码执行的性能并减少内存消耗,因为方法是按类创建的,而不是按对象创建的。 同时我想在我的类中使用模块模式,因为它看起来更好并且允许使用私有属性和方法。
代码布局如下:
var MyClass = function() {
var _classProperty = "value1";
var object = {
classProperty : _classProperty
};
object.prototype = {
prototypeProperty = "value2"
}
return object;
}
但是这种情况下的原型不起作用。我发现原因是为函数而不是对象设置了原型。所以我想我应该使用object.__proto__.prototype 而不仅仅是object.prototype。但是__proto__并非所有浏览器都支持,也不符合ECMAScript5规则。
那么有没有更好的方式在模块模式对象构造函数中使用原型?
【问题讨论】:
-
我从未听说过
__prop__。你的意思是__proto__?也许你想看看Object.create:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…。 -
你真的实现了吗?这里有语法问题。
-
对于您想要构建的对象类型,我建议您看这里:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…。
-
是的,对不起。我的意思是
__proto__ -
您不应该使用
MyClass.prototype而不是object.prototype吗?
标签: javascript constructor module prototype