モジュールモード

1650 ワード

モジュール(module)モードModuleモードは、最初に、従来のソフトウェアエンジニアリングにおいてクラスのためにプライベートおよび共有パッケージを提供する方法として定義されている.javascriptにおいて、Moduleモードは、さらなるアナログクラスの概念のために使用され、このようにして、1つの個別のオブジェクトに共有/プライベート方法および変数を持たせて、グローバルスコープからの特殊な部分を遮蔽することができる.結果としては、関数名がページ上の他のスクリプトによって定義された関数と衝突する可能性が低くなります.
  • Moduleモードの実現
  •   var Car = (function () {
        //       
        var type = '   ';
        //       
        var year = function () {
          return '2017'
        };
        //             
        return {
          color: 'red',  //     
          money: function (num) {  //     
            console.log('   ' + this.color + ' ' + type + ',   ' + num + '   ')
          }
        }
      })();
      //   
      console.log(Car.color); // red
      Car.money(20000);    //    red    ,   20000   
      Car.color = 'blue';  //       
      console.log(Car.color); // blue
      Car.money(15000);    //    blue    ,   15000   
    
    上記のコードでは、Carは1つのクラスをシミュレートするために定義されています.Carには1つのプライベート変数typeと1つのプライベート方法yearとが定義されています.この2つのプライベートメンバはCarの外部ではアクセスできません.この関数の内部でのみアクセスできます.returnのオブジェクトによって、公有の変数colorと共有の関数moneyが関数の外に露出され、外部に修正およびアクセスすることができる.Moduleモードの利点:
  • は私たちのモジュールだけがプライベート関数を持つ自由を享受することができます.彼らはページの残りの部分に露出しないからです.(私たちが出力したAPIだけを暴露します.)本当にプライベートだと思います.
  • は、関数がしばしば明示され、名前が付けられていることに鑑みて、どの関数が異常を投げようとしているのかを見つけようとすると、スタックが呼び出されることがより容易になる.
  • Moduleモードの欠点:
  • は私たちが共有メンバーとプライベートメンバーを訪問する方法が違っていますので、私たちが視認性を変えたい時は、実際にこのメンバーを使ったところを変えなければなりません.