代码详解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 相关文章推荐
鼠标划过实现延迟加载并隐藏层的js代码
Oct 11 Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
Mar 06 Javascript
如何防止回车(enter)键提交表单
May 11 Javascript
node.js中的querystring.parse方法使用说明
Dec 10 Javascript
Javascript 字符串模板的简单实现
Feb 13 Javascript
使用jsonp实现跨域获取数据实例讲解
Dec 25 Javascript
JS实现加载时锁定HTML页面元素的方法
Jun 24 Javascript
详解VUE2.X过滤器的使用方法
Jan 11 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
Aug 10 Javascript
Mint UI实现A-Z字母排序的城市选择列表
Dec 28 Javascript
微信小程序实现页面分享onShareAppMessage
Aug 12 Javascript
Vue 中使用富文本编译器wangEditor3的方法
Sep 26 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
PHP 字符串分割和比较
2009/10/06 PHP
通过Email发送PHP错误的方法
2015/07/20 PHP
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
Python 文件重命名工具代码
2009/07/26 Python
python使用append合并两个数组的方法
2015/04/28 Python
彻底理解Python list切片原理
2017/10/27 Python
python中的随机函数小结
2018/01/27 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
python可以用哪些数据库
2020/06/22 Python
Python如何给你的程序做性能测试
2020/07/29 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
毕业证丢失证明
2014/01/15 职场文书
保安岗位职责
2014/02/21 职场文书
寄语是什么意思
2014/04/10 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
springboot临时文件存储目录配置方式
2021/07/01 Java/Android
Windows server 2012搭建FTP服务器
2022/04/29 Servers