ES/CommonJS/AMD/CMD规范简单介绍

ECMAScript

定义了如下规范:

  • 语言语法 – 语法解析规则、关键字、语句、声明、运算符等。
  • 类型 – 布尔型、数字、字符串、对象等。
  • 原型和继承。
  • 内建对象和函数的标准库 – JSON、Math、数组方法、对象自省方法等。

ECMAScript标准不定义HTML或CSS的相关功能,也不定义类似DOM(文档对象模型)的Web API,这些都在其他的标准中定义。
ECMAScript涵盖了各种环境中JS的使用场景,无论是浏览器环境还是类似node.js的非浏览器环境。

ES历史:1、2、3、5、6, 4因为太激进,饱受争议,废除。
ES6的新特性:参见ES6新特性

CommonJS

  • 一个单独的文件就是一个模块。加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象。
  • CommonJS是用在服务器端的,属于同步模块定义的实现,如nodejs是典型的实践。

CMD和AMD

  • AMD(异步模块定义)和CMD(通用模块定义)。
  • CMD和AMD都是CommonJS的一种规范的实现定义,RequireJS和SeaJS是对应的实践。

CMD和AMD的区别:CMD相当于按需加载,定义一个模块的时候不需要立即制定依赖模块,在需要的时候require就可以了,比较方便;而AMD则相反,定义模块的时候需要制定依赖模块,并以形参的方式引入factory中。

你可能感兴趣的:(Javascript)