代码详解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 相关文章推荐
10款非常有用的 Ajax 插件分享
Mar 14 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
Jan 09 Javascript
js的hasownproperty使用示例
Mar 02 Javascript
通过url查找a元素并点击
Apr 09 Javascript
PHP结合jQuery实现红蓝投票功能特效
Jul 22 Javascript
JQuery入门基础小实例(1)
Sep 17 Javascript
AngularJS 日期格式化详解
Dec 23 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
Dec 20 Javascript
TypeScript学习之强制类型的转换
Dec 27 Javascript
js模拟微博发布消息
Feb 23 Javascript
js事件委托和事件代理案例分享
Jul 25 Javascript
js打开word文档预览操作示例【不是下载】
May 23 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
javascript常见用法总结
2014/05/22 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
jQuery如何使用自动触发事件trigger
2015/11/29 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
nodejs发送http请求时遇到404长时间未响应的解决方法
2017/12/10 NodeJs
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
python迭代器的使用方法实例
2013/11/21 Python
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
Python手机号码归属地查询代码
2016/05/04 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
Python图片的横坐标汉字实例
2019/12/04 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
泰国第一在线超市:Tops
2021/02/13 全球购物
DJI全球:DJI Global
2021/03/15 全球购物
自我鉴定的范文
2013/10/03 职场文书
零件设计自荐信范文
2013/11/27 职场文书
市场营销方案范文
2014/03/11 职场文书
学校食品安全实施方案
2014/06/14 职场文书
教师理论学习心得体会
2016/01/21 职场文书