1. JavaScript里面js代码的写法:目标是解决冲突和依赖

函数式编程,全局函数和变量--很容易覆盖

对象的写法--也会从外面改变

命名空间:利用名称不同缓冲js代码的冲突---名称太长,不方便维护

闭包--变量一直存在,垃圾回收机制失效,内存泄漏

模块化开发

函数式编程---->面向对象编码---->模块化编程(面向对象可以理解成深度的模块化)

2.COMMONJS规范、AMD规范、CMD规范

CommonJS 最开始是 Mozilla 的工程师于 2009 年开始的一个项目,它的目的是让浏览器之外的 JavaScript

能够通过模块化的方式来开发和协作---Node.js(服务器端)

CommonJS是最早的规范。

CommonJS 的规范中,每个 JavaScript 文件就是一个独立的模块.

CommonJS 规范的主要适用场景是服务器端编程,所以采用同步加载模块的策略。

定义模块

调用模块

配置模块

AMD 是 Asynchronous Module Definition 的简称,即“异步模块定义”,是从 CommonJS 讨论中诞生的。

AMD 优先照顾浏览器的模块加载场景,使用了异步加载和回调的方式。浏览器端异步加载库Require.js实

现的就是AMD规范。

CMD规范,全称”Common Module Definition”,称为 通用模块加载规范 。一般也是用在浏览器端。浏览器

端异步加载库Sea.js实现的就是CMD规范。

3.RequireJS模块化开发

模块化的思想和意义--冲突和依赖

可以更方便地使用别人的代码,想要什么功能,就加载什么模块(每个 JavaScript 文件就是一个独立的模块)

团队开发大家必须以同样的方式编写模块,否则达不到预想的效果.

模块化思想就是指将页面根据内容的关联性分解成不同的且相互独立的模块进行开发,每个模块之间没有必然的联系,互不影响。

4.requireJS模块化开发步骤

下载并引入requirejs文件

async属性表明这个文件需要异步加载,避免网页失去响应。IE不支持这个属性,只支持 defer,所以把defer也写上。

data-main属性的作用是,指定网页程序的主模块,意思是整个网页的入口代码,所有代码都从这儿开始运行,文件名自定义

define 定义模块,接收二个参数。

第1个参数,必须是一个数组,指明该模块的依赖性

第2个参数是一个回调函数。

require 调用模块,接收二个参数。

第1个参数是一个数组,表示所依赖的模块

第2个参数是一个回调函数,当前面指定的模块都加载成功后,它将被调用。

require.config({ }) 配置模块 第三方的公共模块

5.ES6 模块化讲解 (import export)

ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。CommonJS 和 AMD 模块,都只能在运行时确定这些东西。

export命令用于规定模块的对外接口。

import命令用于输入其他模块提供的功能。

定义模块/导入模块/引入模块文件

最新文章

  1. C#------EntityFramework实体加载数据库SQLServer(MySQL)
  2. 李洪强iOS开发之零基础学习iOS开发【02-C语言】03-关键字、标识符、注释
  3. 4、JPA table主键生成策略(在JPA中table策略是首推!!!)
  4. UML图示与代码对照
  5. Angular 2 从0到1 (三)
  6. linux上的用户管理
  7. NIO基础篇(三)
  8. python生成组织架构图(网络拓扑图、graph.editor拓扑图编辑器)
  9. JVM笔记(一)数字在JVM中的表示
  10. navLI鼠标滑上显示下拉导航
  11. LabVIEW上位机与串口通信
  12. Eureka集群试验的一点总结
  13. 守护进程daemon函数
  14. kcp源码走读
  15. Unity3D - UGUI实现Tab键切换输入框、按钮(按Tab键切换高亮显示的UI)
  16. Sprint 站立会议(个人)
  17. UPC11073(DP,思维)
  18. 《OD大数据实战》Mahout入门实例
  19. 小试OKR一季度之后有感分享,你要不要试试ORK?
  20. SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析

热门文章

  1. java遇到的error解决
  2. Maven+JSP+Servlet+C3P0+Mysql实现的音乐库管理系统
  3. poj3613 求经过n条边的最短路 ----矩阵玩出新高度 。
  4. 一、工具类DBUtil——数据库连接
  5. 六、表达式:前缀&&后缀
  6. 安装依赖jdk---linux
  7. iOS开发MD5、SHA1
  8. zookeeper启动报错:Error contacting service. It is probably not running
  9. 机器人操作系统——ROS,Robot Operating System
  10. MRCTF 2020 WP