代码详解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性能
Feb 24 Javascript
jquery中checkbox全选失效的解决方法
Dec 26 Javascript
JS实现很酷的EMAIL地址添加功能实例
Feb 28 Javascript
JavaScript实现点击自动选择TextArea文本的方法
Jul 02 Javascript
javascript单页面手势滑屏切换原理详解
Mar 21 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
Nov 11 Javascript
jquery mobile移动端幻灯片滑动切换效果
Apr 15 Javascript
详解Node.js 命令行程序开发教程
Jun 07 Javascript
详解利用 Express 托管静态文件的方法
Sep 18 Javascript
Angular @HostBinding()和@HostListener()用法
Mar 05 Javascript
vue中nextTick用法实例
Sep 11 Javascript
微信小程序实用代码段(收藏版)
Dec 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程序员工具
2008/05/26 PHP
php学习之简单计算器实现代码
2011/06/09 PHP
PHP-redis中文文档介绍
2013/02/07 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
jQuery操作css样式
2017/05/15 jQuery
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
layui 图片上传+表单提交+ Spring MVC的实例
2019/09/21 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
原生js滑动轮播封装
2020/07/31 Javascript
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
详解Django框架中的视图级缓存
2015/07/23 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
TensorFlow2.0:张量的合并与分割实例
2020/01/19 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
html5构建触屏网站之网站尺寸探讨
2013/01/07 HTML / CSS
商务英语本科生的自我评价分享
2013/11/15 职场文书
数控机械专业个人的自我评价
2014/01/02 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
食品安全责任书范本
2015/05/09 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书