2

神聖なグローバル名前空間を考慮して、Web サイトに .js ファイルを実装しようとしています。今回は正しい方法でやりたいので、この多分簡単すぎる質問を手伝ってください:

私がこれまでに持っているもの:

var myJSFile = (function () {

  function a (){
  } 
  function b (){   
  }

  return {
    global1 : 0,
    global2 : 0,             

    functionc :  function (){
      a();
    },

    functiond : function () {
      a();
      b();
    }
  }; 
})(); 

1 つのグローバル変数 " myJSFile " をグローバル スコープに表示する必要があることがわかります。2 つのプライベート関数 ( a,b )、2 つのグローバル変数 ( global1、global2 )、および 2 つのグローバル関数 ( functionc、functiond ) もあります。このコードは確かに機能しますが、netbeans は気に入らないようです。netbeans がナビゲーターに表示する唯一のものは、グローバル変数「myJSFile」です。プライベート、パブリック関数、その他の変数はありません。たくさんの機能があるので、それが本当に必要です。

これは私に考えさせます、私は何か完全に間違ったことをしています。ですから、このコードを修正する方法と、より優れた js プログラマーになる方法についてアドバイスをください。

よろしくお願いします!

編集:私は、このオブジェクトを処理する方法と、次のように使用する方法を知っています:

myJSFile.global1 = anything;
myJSFile.functionc();

ここで私にとって問題となるのは、netbeans のナビゲーターです。何も表示されないので、何か間違ったことをしていると思わせてしまいます。

編集 (II): netbeans が更新されたようです。機能などを認識できるようになりました。

4

1 に答える 1

0

オブジェクトを作成しています。したがって、「パブリック」関数はmyJSFileオブジェクトのプロパティになります。したがって、次のように動作するはずです。

// Public functions
myJSFile.functionc(); // calls a()
myJSFile.functiond(); // calls a() then b()


// Public properties
myJSFile.global1; // 0
myJSFile.global2; // 0

moduleパターンの一例です。詳細については、こちらをご覧ください。

于 2013-05-24T08:18:23.610 に答える