• 模块加载原理


    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());
    });
  • 相关阅读:
    Oracle ASH报告生成和性能分析
    Oracle AWR报告生成和性能分析
    oracle和mysql批量合并对比
    Oracle
    Delphi
    Delphi
    Delphi
    Delphi
    Delphi
    Delphi
  • 原文地址:https://www.cnblogs.com/littleboyck/p/11880571.html
Copyright © 2020-2023  润新知