黑马程序员技术交流社区

标题: 【上海校区】模块加载原理 [打印本页]

作者: 梦缠绕的时候    时间: 2019-11-18 11:42
标题: 【上海校区】模块加载原理
复制代码
var depMods = (function(){
    var modules = {};
    var defined = function(name,deps,impl){
        typeof deps == 'function' && (
            impl = deps,
            deps = []
        )
        if(deps.length > 0){
            for(let i = 0; i < deps.length; i++){
                deps[i] = modules[deps[i]]
            }
        }
        !modules[name] && (modules[name] = impl.apply(impl,deps))
    }
    var require = function(deps,handle){
        if(!Array.isArray(deps)){
            deps = [deps];
        }
        for(let i = 0; i < deps.length; i++){
            deps[i] = modules[deps[i]]
        }
        handle.apply(handle,deps);
    }
    return {
        defined:defined,
        require:require
    }
})();


depMods.defined('table',function(){
    var initTable = function(){
        return "初始化表格模块";
    }
    return {
        initTable:initTable
    }
});

depMods.require('table',function(table){
    alert(table.initTable());
});
复制代码


作者: 梦缠绕的时候    时间: 2019-11-18 11:42
有任何问题欢迎在评论区留言
作者: 梦缠绕的时候    时间: 2019-11-18 11:42
或者添加学姐微信
DKA-2018




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2