代码详解javascript模块加载器


Posted in Javascript onMarch 04, 2018

定义

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
  }
})();

使用

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');

以上就是本次分享的全部代码内容,大家可以测试下,如果还有任何不明白的地方可以在下方的留言区讨论,感谢大家对三水点靠木的支持。

Javascript 相关文章推荐
javascript实现div的显示和隐藏的小例子
Jun 25 Javascript
window.showModalDialog()返回值的学习心得总结
Jan 07 Javascript
jQuery的context属性用法实例
Dec 27 Javascript
JavaScript返回网页中超链接数量的方法
Apr 03 Javascript
JQuery中DOM事件合成用法实例分析
Jun 13 Javascript
AngularJS directive返回对象属性详解
Mar 28 Javascript
AngularJS ng-controller 指令简单实例
Aug 01 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
Aug 10 Javascript
react-native中ListView组件点击跳转的方法示例
Sep 30 Javascript
解析Vue 2.5的Diff算法
Nov 28 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
Apr 14 Javascript
微信小程序 如何保持登录状态
Aug 16 Javascript
Vue用v-for给src属性赋值的方法
Mar 03 #Javascript
vue中v-for加载本地静态图片方法
Mar 03 #Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 #Javascript
基于Vuejs的搜索匹配功能实现方法
Mar 03 #Javascript
vue.js select下拉框绑定和取值方法
Mar 03 #Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
Mar 03 #Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
Mar 03 #Javascript
You might like
浅析PHP绘图技术
2013/07/03 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
javascript高级学习笔记整理
2011/08/14 Javascript
JQuery设置和去除disabled属性的5种方法总结
2013/05/16 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
js中的this关键字详解
2013/09/25 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
DOM事件探秘篇
2017/02/15 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
python根据出生年份简单计算生肖的方法
2015/03/27 Python
python使用pymysql实现操作mysql
2016/09/13 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
python调用staf自动化框架的方法
2018/12/26 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
python TCP包注入方式
2020/05/05 Python
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
园艺师求职信
2014/03/10 职场文书
就业意向书范文
2014/04/01 职场文书
兽医医药专业求职信
2014/07/27 职场文书
好人好事演讲稿
2014/09/01 职场文书
合伙经营协议书范本
2014/09/13 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
体育教师个人工作总结
2015/02/09 职场文书
公司人事任命通知
2015/04/20 职场文书
李强感恩观后感
2015/06/17 职场文书
人民币使用说明书
2019/04/17 职场文书
优秀大学生申请书
2019/06/24 职场文书