モジュールの書き方
1226 ワード
モジュールとは、特定の機能を実現する方法のことです.
1.原始的な書き方
このようなやり方の欠点は明らかです.グローバル変数が汚染されています.他のモジュールと変数名が衝突しないことは保証できません.モジュールメンバーの間に直接関係が見えません.
2.対象の書き方
「即時実行関数」を使用して、プライベートメンバーを露出しない目的を達成できます.
4.モジュールへの参照
1.原始的な書き方
function m1(){
//...
}
function m2(){
//...
}
上の関数m 1()とm 2()は、モジュールを構成します.使う時は、直接呼び出してもいいです.このようなやり方の欠点は明らかです.グローバル変数が汚染されています.他のモジュールと変数名が衝突しないことは保証できません.モジュールメンバーの間に直接関係が見えません.
2.対象の書き方
var module1 = {
_count : 0,
m1 : function (){
//...
},
m2 : function (){
//...
}
};
上の関数m 1()とm 2()は、すべてmodule 1オブジェクトにパッケージされています.使うときは、このオブジェクトの属性を呼び出します.module1.m1();
ただし、このような書き方では、モジュール全員が暴露され、内部状態は外部で書き換えられます.例えば、外部コードは内部カウンタの値を直接変更することができます.module1._count = 5;
3.すぐに関数の書き方を実行します(クローズド)「即時実行関数」を使用して、プライベートメンバーを露出しない目的を達成できます.
var module1 = (function(){
var _count = 0;
var m1 = function(){
//...
};
var m2 = function(){
//...
};
return {
m1 : m1,
m2 : m2
};
})();
上記の書き方では、外部コードは内部の_count変数を読み込めません.4.モジュールへの参照
var module1 = (function ($, YAHOO) {
//...
})(jQuery, YAHOO);
ステップ: http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html http://www.ruanyifeng.com/blog/2012/11/require_js.html