代码详解javascript模块加载器
网络 2018-03-08 1933
定义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | var MyModules = (function Manager() { var modules = {}; function define (name, deps, impl) { for(var j = 0, length = deps.length; j < length; j++){ deps[j] = modules[deps[j]]; } modules[name] = impl.apply(impl, deps); } function get (name) { return modules[name]; } return { define: define, get: get } })(); |
使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | MyModules.define('test1', [], function() { function hello(name) { console.log(name); } return { hello: hello } }); MyModules.define('test2', ['test1'], function(test1) { function age(name, age) { console.log(test1.hello(name)); console.log(age); } return { age: age } }); MyModules.get('test2').age('mumu', '27'); |
以上就是本次分享的全部代码内容,大家可以测试下
上一篇:编写React组件项目实践分析
下一篇:JS表单传值和URL编码转换