模块化学习笔记1

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

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

模块化的实现方法:

(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

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

时间: 2024-12-11 22:58:23

模块化学习笔记1的相关文章

thinkphp学习笔记5—模块化设计

1.模块结构 完整的ThinkPHP用用围绕模块/控制器/操作设计,并支持多个入口文件盒多级控制.ThinkPHP默认PATHINFO模式,如下: http://serverName/index.php(或者其他应用入口文件)/模块/控制器/操作/[参数名/参数值...] 应用:由同一个入口文件访问的项目称为一个应用,在完整版的代码中就是Application 模块:一个应用下面可以包含多个模块,每个模块对应独立的目录,在完整版的代码中有Admin,Home,Common,Runtime四个模块

[原创]java WEB学习笔记12:一个简单的serlet连接数据库实验

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

Oracle之PL/SQL学习笔记

自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套

[原创]java WEB学习笔记109:Spring学习---spring中事物管理

博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ------------------------------------------------------------------------------------------------------------------

WeX5学习笔记

目录 WeX5学习笔记... 1 1.轻松看透WeX5产品能力和技术... 1 2.WeX5可以怎么玩?... 3 一.纯本地App. 3 二.关联一个网站,希望默认就打开某页... 4 三.UI设计器... 4 四.打包神器... 4 五.标准玩法... 4 3.WeX5 App与服务端交互原理... 4 4.Account示例程序... 5 5.Takeout示例程序... 7 5.1Index.w.. 7 5.2mapActivity.w.. 13 问题... 13 6.页面间交互视频..

C51学习笔记

转自:http://blog.csdn.net/gongyuan073/article/details/7856878 单片机C51学习笔记 一,   C51内存结构深度剖析 二,   reg51.头文件剖析 三,   浅淡变量类型及其作用域 四,   C51常用头文件 五,   浅谈中断 六,   C51编译器的限制 七,                        小淡C51指针 八,                        预处理命令                        

《Linux内核设计与实现》第一、二章学习笔记

<Linux内核设计与实现>第一.二章学习笔记 姓名:王玮怡  学号:20135116 第一章 Linux内核简介 一.关于Unix ——一个支持抢占式多任务.多线程.虚拟内存.换页.动态链接和TCP/IP网络的现代化操作系统 1.主要发展过程   1969年,贝尔实验室的程序员们设计了一个文件系统原型,最终发展演化成了Unix 1971年,Unix被移植到PDP-11型机中 1973年,整个Unix系统使用C语言进行重写,为后来Unix系统的广泛移植铺平了道路 Unix第六版(V6)被贝尔实

Web Service学习笔记

Web Service概述 Web Service的定义 W3C组织对其的定义例如以下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来运行远程系统的请求服务. 这里我们从一个程序猿的视角来观察web service.在传统的程序编码中,存在这各种的函数方法调用.通常,我们知道一个程序模块M中的方法A,向其发出调用请求,并传入A方法须要的參数P,方法A运行完毕后,返回处理结果R.这样的函数或方法调用

C#学习笔记(六)&mdash;&mdash;面向对象编程简介

一.面向对象编程的含义 *   是一种模块化编程方法,使代码的重用性大大的增加. *   oop技术使得项目的设计阶段需要的精力大大的增加,但是一旦对某种类型的数据表达方式达成一致,这种表达方式就可以沿用下去,直到这款应用的生命周期结束. (一)对象的含义 1.对象就是OPP应用程序的一个组成部分,这个组成部件封装了部分应用程序,这部分程序可以是一个过程.一些数据或一些更抽象的实体.对象的类型在OOP中有个特殊的名称叫做类.可以使用类来定义一个对象. PS:术语"类"和"对象