在javascript模块中访问模块变量

时间:2012-06-22 15:05:02

标签: javascript

我有一个简单的JavaScript模块如下:

var QCH = (function($jquery, undefined) {

      var QCH = { };
      var someDivId;

      QCH.Init = function(someDivId) {
              someDivId=someDivId;
      };
      return QCH;
}($));

上述代码不起作用。 someDivId与模块变量和本地init变量具有相同的名称。 在C#中,我们可以使用this.someDivId指向模块(类)变量。有没有办法在JS中指向模块变量?

我知道我可以更改名称模块变量并使用例如大写情况,以区别于本地变量,但我想知道是否有更好的方法?

1 个答案:

答案 0 :(得分:0)

你做不到。您将不得不重命名其中一个。你已经在外部作用域中隐藏了someDivId,其中一个在内部作用域中,并且JavaScript没有提供(我知道)在解析标识符时忽略作用域链的一个元素。