代码详解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 相关文章推荐
use jscript with List Proxy Server Information
Jun 11 Javascript
Open and Print a Word Document
Jun 15 Javascript
Firefox和IE浏览器兼容JS脚本写法小结
Jul 07 Javascript
JavaScript中的函数重载深入理解
Aug 04 Javascript
浅谈 javascript 事件处理
Jan 04 Javascript
javascript实现数组去重的多种方法
Mar 14 Javascript
jquery.multiselect多选下拉框实现代码
Nov 11 Javascript
jQuery中get方法用法分析
Dec 07 Javascript
详解JS: reduce方法实现 webpack多文件入口
Feb 14 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
Aug 28 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
Jul 26 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
Aug 10 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中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
2017/04/18 PHP
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
2014/01/14 Javascript
js导出txt示例代码
2014/01/14 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
简单实现js浮动框
2016/12/13 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
Python Trie树实现字典排序
2014/03/28 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
python 常见的反爬虫策略
2020/09/27 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
nohup的用法
2014/08/10 面试题
创业计划书怎样才能打动风投
2014/01/01 职场文书
模具设计与制造专业推荐信
2014/02/16 职场文书
英语教学随笔感言
2014/02/20 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书