zoukankan      html  css  js  c++  java
  • 模块化学习笔记

        

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

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

    模块化的实现方法:

    (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

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

    宝剑锋从磨砺出,梅花香自苦寒来。
  • 相关阅读:
    变量与基本数据类型的练习
    04-各数据类型的常用操作
    常用函数
    03-python流程控制
    02-Python输入输出及运算符
    02-补充:逻辑运算符
    线程
    tcp实现并发效果
    生产消费者作业
    作业4.22
  • 原文地址:https://www.cnblogs.com/haimengqingyuan/p/7073090.html
Copyright © 2011-2022 走看看