【发布时间】:2013-04-09 19:29:20
【问题描述】:
我一直在使用显示模块模式并且有多个命名空间。 示例:
// here's the namespace setup
var myProject= myProject|| {};
var myProject.models= myProject.models || {};
myProject.models.MyModel= function(){
var someMethod = function(){
// do something
};
return{
SomeMethod = someMethod
};
}
我将移至Revealing Prototype Pattern 以获得一些内存使用改进,因此我可以将对象装饰为另一个功能。如何将其保存在 myProject.models 命名空间中? 这给出了我的 JavaScript 错误:
var myProject.models.MyModel= function(){
// properties here
};
myProject.models.MyModel.prototype = (function(){
// methods here
var someMethod = function(){
// do something
};
return{
SomeMethod = someMethod
};
}());
【问题讨论】:
-
去掉
var关键字!您正在分配一个属性,而不是创建一个变量。 -
好的,所以删除 var 确实会运行。我在看他的例子,认为 var 是必需的。
标签: javascript prototype revealing-module-pattern