【发布时间】:2012-01-21 04:52:54
【问题描述】:
我已经创建了一个这样的 Javascript 命名空间:
var MyApp = function() {
return {
someFunction : function(x) {}
alert(MyApp.y);
}
}();
这让我可以这样做:
MyApp.someFunction(x);
我希望能够做到以下几点:
MyApp.y = "test" 这样我的 someFunction 就可以访问这个变量 Y。
关于如何解决这个问题的任何想法?我想保持我的 NS 语法完好无损,所以一个适用于我的示例代码的解决方案会很好。
【问题讨论】:
-
您将 someFunction 放入外壳中是否有任何特殊原因?据我所知,一旦你完成了它,你就不能将新变量传递给那个外壳,但是你当然可以访问全局变量。如果您不需要 需要 外壳,但是您可以使用
this.someFunction = function(x) ...而不是return块。同样猜测,当您将其存储在MyApp中时,您可能想要new该函数。
标签: javascript namespaces javascript-namespaces