1

次のような単純な JavaScript モジュールがあります。

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

      var QCH = { };
      var someDivId;

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

上記のコードは機能しません。someDivId は、モジュール変数およびローカル init 変数と同じ名前です。C# では、 this.someDivId を使用して module(class) 変数を指すことができます。JSでモジュール変数を指す方法はありますか?

名前モジュール変数を変更して、たとえば大文字を使用してローカルのものと区別できることは知っていますが、もっと良い方法があるかどうか疑問に思っていますか?

4

1 に答える 1

0

できません。それらのいずれかの名前を変更する必要があります。someDivId外側のスコープの を内側のスコープの 1 つにシャドウイングしました。JavaScript は、識別子を解決するときにスコープ チェーンの 1 つの要素を無視する方法 (私が知っている) を提供しません。

于 2012-06-22T15:10:04.523 に答える