javascript模块化中的AMD规范

对于一个刚接触javascript模块化编程的人来讲,需要的是一手好资料,javascript模块化编程的前提是需要有javascript基础。在下接触的更多的是关于PHP服务器端的,对于javascript,我只是一个新手,不像老司机那般驾轻就熟。前两天我在github上download了一段程序下来,慢慢开始研究别人写的code,以前我不大喜欢看别人写的东西,总觉得看起来费劲,于是就找了一段简单的code来看,其中有这样一段代码涉及到AMD模块化书写:

<script language="javascript" type="text/javascript">
    require(['<?php echo SITE_URL?>scripts/common.js'], function (common) {
        require(['<?php echo SITE_URL?>scripts/
        <?php echo $folder_name?>/
        <?php echo $controller_name?>/index.js']);
    });
</script>

于是我查了相关资料,找到了阮一峰的博客中讲到有关AMD规范化的讲解,他讲得非常清晰,非常好,在此引入其概念:

AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。
var math = require('math');
math.add(2, 3);

注释:第二行math.add(2, 3),在第一行require(‘math’)之后运行,因此必须等math.js加载完成。而add是math中的方法。

如果将上述代码改成AMD形式,如下:

 require(['math'], function (math) {
 math.add(2, 3);
});

再对比其上述程序,就不难看出写成的是AMD形式。

转:http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值