モジュール化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を実現している.
次のようになります.
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);
});