• 模块化学习笔记


        

    模块: 可以理解为实现特定功能的一组方法。同时,它可以提供一个接口供其他程序调用。通过分而治之及复用思想,提高效率。

           是否可以理解为类似组件的形式呢? 

    模块化的实现方法:

    (1)将多个函数封装在一起

    (2)将变量与函数封装在一个对象中

    (3)立即执行函数 

    JavaScript模块化规范:CommonJS、AMD、CMD

    (1)CommonJS

           同步实现。一个单独的文件就是一个模块。模块通过module.exports对象输出,需要输出的内容都放入到该对象中。使用Require加载模块。

    (2)AMD

          异步实现。通过define()方法定义模块,其中包含了模块标识符、当前依赖的模块列表、模块初始化需要执行的函数或对象。使用require函数加载模块。RequireJS

    (3)CMD

         异步实现。通过define()方法定义模块,其中包含了require方法(用于获取其他模块提供的接口)、exports对象(用于向外提供模块接口)、module对象(存储了与当前模块相关联的属性与方法)。SeaJs

    AMD与CMD比较:

    同:

    都是为了解决模块化在前端方面,浏览器端应用,且加载模块都是异步的。

    异:

    (1)在模块定义时,对依赖的处理不同

        AMD推荐依赖前置,在定义模块时就要声明所依赖的模块。AMD在模块加载完成后会立即执行该模块,所有模块执行完成后进入require回调函数,执行主逻辑。

       CMD推荐就近依赖,只有在用到某个模块时才会加载。CMD在某个依赖加载完成后并不立即执行,在所有依赖模块都加载完毕后进入主逻辑,遇到require语句才执行对应的模块。

     .......

    参考资料:

    http://www.ruanyifeng.com/blog/2012/10/javascript_module.html

    http://www.cnblogs.com/dolphinX/p/4381855.html

    http://web.jobbole.com/83761/

    http://www.open-open.com/lib/view/open1435482139200.html

    http://fex.baidu.com/blog/2014/03/fis-module/

    http://www.qdfuns.com/notes/16274/0cca2f91e1f6000284e59242647d25c1.html

    纸上得来终觉浅。。。。。。

    宝剑锋从磨砺出,梅花香自苦寒来。
  • 相关阅读:
    第十五周翻译
    数据库 第十五周学习笔记
    第十四周学习笔记
    SQL Server安全级别2的楼梯:身份验证
    第十三周学习笔记
    第十三周翻译:SQL Server的安全1级楼梯:SQL Server安全概述
    MySQL修改默认存储引擎(转)
    【整理】MySQL引擎(转)
    合理配置MySQL缓存 提高缓存命中率(转)
    MySQL数据库分区的概念与2大好处
  • 原文地址:https://www.cnblogs.com/haimengqingyuan/p/7073090.html
Copyright © 2020-2023  润新知