javascriptのモジュール開発
1700 ワード
jsコードがますます多くなって、どんどん太ってきて、共同開発の時に大域変数の衝突などがよく現れます.これらの問題が発生した時、jsのモジュール開発を考慮して、以下に簡単にモジュール開発の基礎というものを紹介します.
1、モジュール開発については、直ちに関数を実行しなければなりません.何が即実行関数ですか?以下の例を見てください.
1、モジュール開発については、直ちに関数を実行しなければなりません.何が即実行関数ですか?以下の例を見てください.
/**
*
* (function(){}());
* (function(){})();
*/
(function() {
alert(1);
})();
2、これは何のメリットがありますか?もちろん全体の汚染を防止します.つまり、関数内に宣言された変数は外部からアクセスされません.例えば、var module = (function() {
var module = {};
//
var user = ' ';
function _private() {
alert(' ');
//
}
module.name = user+'123';
module.pubFn = function() {
_private();
return ' ';
};
return module;
}());
alert(module.user); //undefined
alert(module.name); // 123
alert(module.pubFn()); // 、
3、グローバル変数をどのように導入するか、これは方法があります.var module = (function($) {
$.id = 1;
}(window));
alert(id); //1
4、拡張モジュールvar module = (function($) {
$.extend = function() {
alert('extend');
}
return $;
}(module || {})); // , module, '{}'
module.extend(); //extend
5、モジュールカバー防止(function($) {
$.extend = function() {
alert('extend');
}
}(window.module = window.module || {}));
6、サブモジュールvar module = (function($) {
$.extend = function() {
alert('extend');
}
return $;
}(module || {}));
//
module.child = (function() {
var c = {};
c.name = ' ';
c.fn = function() {
console.log(this.name);
}
return c;
})();
module.child.fn();