1

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

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

      var QCH = { };
      var someDivId;

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

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

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

4

1 回答 1

0

你不能。您将不得不重命名其中之一。您已将someDivId外部范围内的一个隐藏在内部范围内,并且 JavaScript 无法(据我所知)在解析标识符时忽略范围链的一个元素。

于 2012-06-22T15:10:04.523 回答