首页 > 其他分享 >现代模块机制

现代模块机制

时间:2024-11-04 14:09:37浏览次数:1  
标签:function bar awesome MyModules 现代 模块 var 机制 hello

摘自《你不知道的js》这本书,第五章第五节:现代模块机制。

感觉这个很牛很高大上,但是不能完全看懂,抄下来,慢慢品读理解:

var MyModules = (
    function Manager(){
        var modules = {};
        function define(name,deps,impl){
            for(var i=0;i<deps.length;i++){
                deps[i] = modules[deps[i]];
            }
            modules[name] = impl.apply(impl,deps);
        }
        function get(){
            return modules[name];
        }
        return {
            define,
            get
        }
    }
)()

  

下面是这个模块的应用:

 

MyModules.define('bar',[],function(){
    function hello(who){
        return "Let me introduce:" + who;
    }
    return {
        hello: hello
    }
});

MyModules.define('foo',['bar'],function (bar) {
    var hungry = 'hippo';
    function  awesome() {
        console.log(bar.hello(hungry).toUpperCase());
    }
      return {
          awesome: awesome
      }  
})

var bar = MyModules.get('bar');
var foo = MyModules.get('foo');

console.log(
    bar.hello('hippo')
);
foo.awesome();

  

标签:function,bar,awesome,MyModules,现代,模块,var,机制,hello
From: https://www.cnblogs.com/cblx/p/18525090

相关文章

  • 说说Java的类加载机制?究竟什么是双亲委派模型?6B
    首先引入一个概念,什么是Java类加载器?一句话总结:类加载器(classloader)用来加载Java类到Java虚拟机中。官方总结:Java类加载器(英语:JavaClassloader)是Java运行时环境(JavaRuntimeEnvironment)的一部分,负责动态加载Java类到Java虚拟机的内存空间中。类通常是按需加载,即第一次使......
  • continue调用1.5B小模型实现代码fast-apply
    100tok/s生成速度,就问够不够fast?用过cursor的小伙伴一定对有个功能印象深刻,那就是fastapply功能。只要点一下,就可以把对话框中AI生成的代码快速地应用到编辑器的当前代码文件里,然后下一步就是对比变更,accept或者reject代码块,相比于要手动从对话框复制代码到编辑器里粘贴修改,这......
  • 《C语言程序设计现代方法》note-2 格式化输入/输出 运算符和表达式
    助记提要转换说明的格式;scanf处理输入的过程;除法操作的注意事项;运算符的结合性;不在子表达式中输入操作数的原因;表达式允许用作语句的问题;3章格式化输入/输出3.1printf函数printf函数用来显示格式串的内容,并在该串中指定位置插入要显示的值。printf(格式串,表达式1,......
  • 【TEC047】基于Xilinx XCZU47DR RFSOC的射频收发核心处理模块
    ​ TEC047是一款基于Xilinx的ZynqUltraSacle+RFSoCGen3系列FPGAXCZU47DR的射频收发核心模块,该模块将XCZU47DR芯片及其最小系统集成在了一个80*115mm的核心板上,可以作为一个紧凑的核心,进行功能的扩展,能够快速的搭建起一个多通道射频收发的信号处理平台,缩短用户的产品研发周期......
  • 数字锁定检测电路在现代电子系统中扮演着至关重要的角色
    引言电荷泵锁相环(ChargePumpPhase-LockedLoop,CPPLL)作为现代电子系统中重要的时钟同步和频率合成元件,因其高稳定性、大捕获范围和易于集成的特点,被广泛应用于无线通信、频率综合器和时钟恢复电路中。在CPPLL的设计中,锁定检测电路是确保系统稳定运行的关键部分。本文将对电......
  • activemq - ack机制
    疑问:在写demo的时候,如果client被强制中断,消息来不及处理,这时候消息又出队列了,这样不是会产生严重的问题嘛?一个会话中,可以同时处理一批数据,如果一条失败了,之前的也要求回滚的话,要怎么处理?获取一个消息之后,发现程序无法处理这条消息,想要退还回去,该怎么办?方案:实际上,active......
  • 说说Java的类加载机制?究竟什么是双亲委派模型?
    首先引入一个概念,什么是Java类加载器?一句话总结:类加载器(classloader)用来加载Java类到Java虚拟机中。官方总结:Java类加载器(英语:JavaClassloader)是Java运行时环境(JavaRuntimeEnvironment)的一部分,负责动态加载Java类到Java虚拟机的内存空间中。类通常是按需加载,即第一次使......
  • python-17-包和模块-创建属于自己的python工具包
    python-17-包和模块一.说明python中的基础系列关于组织代码的基本单位就是包和模块,在真实项目中我们不可能将所有代码都写在一起,或者我们的一些工具类库等需要单独处理,方便各模块调用,怎么办?这时候包和模块就来了,可以很方便的帮我们组织代码。来开始我们今天的日拱一卒!。......
  • k8s基础机制
    k8s基础机制无状态pod的特性顾名思义,pod无状态即pod不保留任何状态,没有持久化存储,可以进行快速扩展,通过增加更多的pod副本来处理负载。任何一个pod失败,都不会导致数据的丢失。有状态pod的特性数据库都是有状态,因为其需要持久化数据。有状态pod,保留了状态,所以pod丢失并不会导致......
  • averaged_perceptron_tagger_eng模块
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注......