模組的定義和模組之間的相互呼叫
阿新 • • 發佈:2018-12-30
// 現代模組機制 var myModules = (function Manager() { var modules = {}; function define(name, deps, impl) { //for迴圈作用是將模組管理器內的相關模組調出來, // 在管理器的作用域中展現,然後被impl呼叫, for (let i = 0; i < deps.length; i++) { deps[i] = modules[deps[i]]; } //新的模組放進模組管理器內,同時利用apply方法呼叫模組的自身,將上下文執行環境繫結到模組 //本身,同時將需要呼叫的模組,模組名作為引數傳入模組。 // deps作為引數,傳進新模組impl,使其能夠呼叫模組管理器內的其他模組 modules[name] = impl.apply(impl,deps); } function get (name) { return modules[name]; } return { define: define, get:get } }())