代码详解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学习之一个简易的日历控件
Mar 24 Javascript
js实现addClass,removeClass,hasClass的函数代码
Jul 13 Javascript
Jquery 获取checkbox的checked问题
Nov 16 Javascript
浅谈关于JavaScript API设计的一些建议和准则
Jun 24 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
Nov 23 Javascript
html判断当前页面是否在iframe中的实例
Nov 30 Javascript
关于TypeScript中import JSON的正确姿势详解
Jul 25 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
Oct 18 Javascript
深入理解es6块级作用域的使用
Mar 28 Javascript
Promise扫盲贴
Jun 24 Javascript
Node.js实现简单的爬取的示例代码
Jun 25 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
Aug 13 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
JS 判断undefined的实现代码
2009/11/26 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
获取input标签的所有属性的方法
2016/06/28 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
python logging类库使用例子
2014/11/22 Python
Python中的下划线详解
2015/06/24 Python
Python之str操作方法(详解)
2017/06/19 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
2013的个人自我评价
2013/12/26 职场文书
工程招投标邀请书
2014/01/26 职场文书
教师个人鉴定材料
2014/02/08 职场文书
霸气队列口号
2014/06/18 职场文书
先进班组事迹材料
2014/12/25 职场文书
2015年八一建军节慰问信
2015/03/23 职场文书
交通事故被告答辩状
2015/05/22 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
linux目录管理方法介绍
2022/06/01 Servers