1、对于依赖的模块,AMD是提前执行,CMD是延迟执行。(SeaJS对模块的态度是懒执行, 而RequireJS对模块的态度是预执行)
2、AMD推崇依赖前置,指定的回调函数,只有前面的模块都加载成功后,才会运行,解决了依赖性的问题;CMD推崇依赖就近,只有在用到某个模块的时候再去require。
3、AMD 的 API 默认是一个当多个用,CMD 的 API 严格区分,推崇职责单一
4.AMD比较适合浏览器环境,浏览器端的模块,不能采用"同步加载"(synchronous),只能采用"异步加载"(asynchronous,CommonJS是主要为了JS在后端的表现制定的,他是不适合前端的
5.requireJS的做法是并行加载所有依赖的模块, 并完成解析后, 再开始执行其他代码, 因此执行结果只会"停顿"1次, 完成整个过程是会比SeaJS要快.
而SeaJS一样是并行加载所有依赖的模块, 但不会立即执行模块, 等到真正需要(require)的时候才开始解析, 这里耗费了时间