モジュール化js

1787 ワード

JSはjavaほどではありません
JAvaのモジュール化:
次のclassはモジュールで、人のことを専門に処理しています.
public class Person{
         //名前の定義
private String name ;
       //名前の取得
public String getName(){
        return this.name;
}
        .......
}
JAvascriptのモジュール化:
//通常のやり方では、プライベートデータは定義できません
var module = {
  name : '',
  getName :  function(){
    return this.name;
   }
}
//プライベート変数は保存できますが、変数は共有されます.
var module = (function(){
var name = "";
        function getName(){
return name;
}
      return {
        getName:getName
}
})();
//さらに、一度だけ実行し、共有せず、コンポーネントの開発に便利なnew xx()
var module = (function(){
var name = "";
        function getName(){
return name;
}
       return function(){
             var private_name;
            this.getName = getName;
}
})();
//しかし、モジュールの継承と多重化は、javaにextendとimplementのキーライトが処理されています.
  public Man extend Person{
      .......
 }
JAvascriptの扱い方は?
var extend=function(child,parent){//構造関数の属性と方法を継承できない
var F = function(){};
F.prototype = parent.prototype;
child.prototype = new F();
child
.prototype.constructor = parent;
child
.super=A.prototype;//子呼び出し親を実装する方法
};
//実は、モジュール化は、一つの規範であり、現在javascriptの規範であり、一つはCommonJsであり、一つはAMDである
CommonJsの実装はnodejsのrequire([module])形式のように、ファイルのロードが完了するのを待って、次の操作を行います.主にディスク上のファイルを同期的に読み取り、ブラウザ側で実行すると待機します.
同期操作、ブラウザカードのデッドイメージ
AMDは非同期ロードモジュールであり、ブラウザ側での使用が容易であり、require.js curl.jsを実現している.
require ([module], callback); 

次のようになります.
require (['math'], function (math) {
    math.add (2, 3);
});