代码详解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入门学习书籍推荐
Jun 12 Javascript
JavaScript库 开发规则
Jan 31 Javascript
简单常用的幻灯片播放实现代码
Sep 25 Javascript
js实现获取当前时间是本月第几周的方法
Aug 11 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
Dec 04 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
Jun 30 Javascript
js精确的加减乘除实例
Nov 14 Javascript
JS运动特效之链式运动分析
Jan 24 Javascript
axios post提交formdata的实例
Mar 16 Javascript
vue+webpack模拟后台数据的示例代码
Jul 26 Javascript
简单实现vue中的依赖收集与响应的方法
Feb 18 Javascript
抖音上用记事本编写爱心小程序教程
Apr 17 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/11/01 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
PHP开发之用微信远程遥控服务器
2018/01/25 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
2012/05/16 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
详解Vue中的自定义指令
2020/12/07 Vue.js
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
python 如何停止一个死循环的线程
2020/11/24 Python
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
美国最大的宠物用品零售商:PetSmart
2016/11/14 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
什么时候需要进行强制类型转换
2016/09/03 面试题
办公室文秘自我评价
2013/09/21 职场文书
村委会贫困证明
2014/01/14 职场文书
党支部承诺书范文
2014/03/28 职场文书
业务内勤岗位职责
2014/04/30 职场文书
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
react antd实现动态增减表单
2021/06/03 Javascript