AMD
AMD是“asynchronous Module Definition”的缩写,意思就是“异步模块定义”,
它采用异步方式加载模块,模块的加载不影响他后面语句的运行。所有依赖这个模块的语句,
都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。
AMD采用require()语句加载模块,它要求两个参数
require([module],callback);
第一个参数[module],是个数组,里面的成员就是要加载的模块;
第二个参数callback,则是加载成功后的回调函数。
require(['math'],function(math){
math.add(2,3);
});
目前,主要有两个JavaScript库实现了AMD规范:require.js和curl.js
require.js的作用
当代码比较多,一个js文件不够时,必须分成多个文件,依次加载。但是
多个文件一起加载的时候,浏览器会停止网页渲染,加载的文件越多,网页失去响应的时间就会越长;
其次,由于js文件之间存在依赖关系,因此必须严格保证加载顺序,依赖性最大的模块一定放到最后加载
,当依赖关系很复杂的时候,代码的编写和维护都会变得困难。
require.js就是为了解决这两个问题。即实现js文件的异步加载,避免网页失去响应;管理模块之间的依赖性,便于代码的编写和维护