访问 JavaScript 模块中的模块变量

Accessing module variable in javascript module

本文关键字:模块 变量 访问 JavaScript      更新时间:2023-09-26

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

var QCH = (function($jquery, undefined) {
      var QCH = { };
      var someDivId;
      QCH.Init = function(someDivId) {
              someDivId=someDivId;
      };
      return QCH;
}($));

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

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

你不能。您必须重命名其中之一。您已经将外部作用域中的someDivId与内部作用域中的隐藏在一起,并且JavaScript没有提供(据我所知)在解析标识符时忽略作用域链的一个元素的方法。