var kModule = (function(){
var modules = {}
,config = {}
,define = function(deps,factory){
typeof deps == 'function' && (
factory = deps,
deps = []
)
if(!Array.isArray(deps)){
deps = [deps];
}
var exports = function(name,impl){
if(!modules[name]){
kModule[name] = modules[name] = impl;
}
}
typeof factory == 'function' && factory.apply(factory,[exports])
}
,require = function(deps,handle){
typeof deps == 'function' && (
handle = deps,
deps = []
)
if(!Array.isArray(deps)){
deps = [deps];
}
for(let i = 0; i < deps.length; i++){ deps[i] = modules[deps[i]] } handle.apply(handle,deps); } return { define:define, require:require, }; })(); kModule.define(function(exports){ var initTable = function(){ return "初始化表格模块"; } var tableImpl = { initTable:initTable } exports('table',tableImpl) }); //第一种调用方式 kModule.require('table',function(){ var table = kModule.table alert(table.initTable()); }); //第二种调用方式 kModule.require('table',function(table){ alert(table.initTable()); });