為了使得js**更加規劃,以及更加有結構感。很多大神就開發了一套又一套的js庫。比如requirejs, commonjs, seajs等。
(function
(global)
}else
};//呼叫模組方法
varuse = function
(dependnames, fn)
};var resolvedepend = function
(dependnames)
dependmodules.push(module);
}return dependmodules;
}//採用閉包形式, 判斷型別方法呼叫
var typeof = function
() }();
//判斷是否是乙個陣列
var isarray = function
(a) /**對外暴露介面**/
global.defined = defined;
global.use = use;
})(window);
defined("d", function
(); });
defined("c", function
() });
defined("b", ["d"], function
(d);
});defined("a", ["b", "c"],function
(b, c)
});use(["a"], function
(a));
這裡只是簡單的模擬,真正要達到模組化框架,還有很多東西需要編寫,比如非同步載入js等。 js 模組化補充
補充 除了第一種的套路,還可以這樣使用第二種。都是用來自執行函式的。第二種的好處是,還可以返回乙個true。常用 function 小技巧 如果不加上!會報錯,加上之後還能返回true呢。但由於衡返回true。所以只有某些函式是只執行,不在於返回結果的可以用這種。function 相容套路1 適用於...
js模組化規範
標記已經載入成功的個數 var req total 0 模組匯出 window.exports 記錄各個模組的順序 var exp arr 判斷是否陣列 function isarray param require 真正實現 function require arr,callback else va...
理解JS 模組化
module.exports與exports,export與export default之間的關係和區別 js 模組化規範 最早是閉包的寫法,防止變數的汙染 多個js 用 defer 和 async amd 和 cmd 在es6 module 出現之後就退出歷史的舞台了 es6 module 瀏覽器...