AMD也是一種JavaScript模塊化規範,與CommonJs最大的不一樣在於它採用異步的方式加載依賴的模塊,最近正好看了下,這裏簡單本身實現下bash
let factories = { };
/*
* modsName 模塊名稱
* depends 依賴
* factory 工廠函數
*/
function define(modsName, depends, factory) {
factories[modsName] = factory;
}
/*
* mods 要加載的模塊
* callback 回調函數
*/
function require(mods, callback) {
let result = mods.map(function(name) {
return factories[name]();
});
callback.apply(null, result);
}
define('name', [], function() {
return '不粘鍋';
});
define('age', [], function() {
return 11;
});
require(['name', 'age'], function(name, age) {
console.log(name, age);
});
複製代碼
這裏咱們看到已經正常輸出,由於比較簡單沒有作詳細說明,不理解的小夥伴能夠本身敲幾回,就能夠理解了,大神請忽視。app