访问模块变量在JavaScript模块
问题描述:
我有一个简单的JavaScript模块如下:访问模块变量在JavaScript模块
var QCH = (function($jquery, undefined) {
var QCH = { };
var someDivId;
QCH.Init = function(someDivId) {
someDivId=someDivId;
};
return QCH;
}($));
上面的代码不起作用。 someDivId与模块变量和本地初始化变量具有相同的名称。 在C#中,我们可以使用this.someDivId指向模块(类)变量。有没有办法指向JS中的模块变量?
我知道我可以更改名称模块变量,并使用例如资本案例来区分它与本地,但我想知道是否有更好的方法吗?
答
你不能。你将不得不重新命名其中的一个。您在外部作用域中映射了someDivId
,其中一个作用于内部作用域,JavaScript在解析标识符时忽略了作用域链的一个元素(我知道)。