代码详解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 实现浏览历史记录示例
Apr 20 Javascript
javascript进行数组追加方法小结
Jun 16 Javascript
JavaScript脚本库编写的方法
Dec 09 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
May 24 Javascript
基于node.js express mvc轻量级框架实践
Sep 14 Javascript
使用javaScript实现鼠标拖拽事件
Apr 03 Javascript
微信小程序组件之srcoll-view的详解
Oct 19 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
Mar 08 Javascript
Redux实现组合计数器的示例代码
Jul 04 Javascript
vue+iview动态渲染表格详解
Mar 19 Javascript
详解vue中axios请求的封装
Apr 08 Javascript
JS实现基本的网页计算器功能示例
Jan 16 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多文件上传实现代码
2014/02/20 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
用Juery网页选项卡实现代码
2011/06/13 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
送你43道JS面试题(收藏)
2019/06/17 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
整理Python 常用string函数(收藏)
2016/05/30 Python
Python循环语句中else的用法总结
2016/09/11 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
TensorFlow的权值更新方法
2018/06/14 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
css3学习心得分享
2013/08/19 HTML / CSS
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
大学学生会竞选演讲稿
2014/04/25 职场文书
会计人员演讲稿
2014/09/11 职场文书
山楂树之恋观后感
2015/06/11 职场文书
篮球拉拉队口号
2015/12/25 职场文书
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js