我有一个简单的JavaScript模块如下:
var QCH = (function($jquery, undefined) {
var QCH = { };
var someDivId;
QCH.Init = function(someDivId) {
someDivId=someDivId;
};
return QCH;
}($));
上述代码不起作用。 someDivId与模块变量和本地init变量具有相同的名称。 在C#中,我们可以使用this.someDivId指向模块(类)变量。有没有办法在JS中指向模块变量?
我知道我可以更改名称模块变量并使用例如大写情况,以区别于本地变量,但我想知道是否有更好的方法?
答案 0 :(得分:0)
你做不到。您将不得不重命名其中一个。你已经在外部作用域中隐藏了someDivId
,其中一个在内部作用域中,并且JavaScript没有提供(我知道)在解析标识符时忽略作用域链的一个元素。