今天看啥
热点:

JavaScript AMD规范简介(一),javascriptamd


AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义". AMD定义了我们所用的模块都是是异步加载的,所以我们要将依赖模块的代码片段要放在一个回调函数中,当异步加载模块完毕后(也就是此模块已可用时)触发回调函数 常用的AMD库有require.js、sea.js 点击这里这里有一个我自己的示例级别的AMD实现
AMD标准中定义了以下两个API (1) require([module], callback); (2) define([depends], callback);   require接口用来加载一系列模块,define接口用来定义并暴露一个模块
在AMD中我们js的代码都是放在require的回调中的,require函数帮我们加载依赖的模块并且处理器深层次的依赖关系(依赖的依赖等等)并在一切依赖加载完毕后,将模块作为回调函数的传参,并调用回调函数. 看以下场景 我们的js代码需要B,C模块.B模块不依赖于任何模块,C模块依赖于D模块
require([B,C],function(B,C){       
     var A = {};
     A.say = B.say;
     A.run = C.run;
     return A;
});

B.js
define([], function(){
     var B = {};
     B.say = function() {
          console.info('say hello!');
     }
     return B;
});

C.js
define([D], function(D){
     var C={};
     c.run = function() {
          console.info(D.name + ' free running!');
     }
     return C;
})

D.js
define([],function(){
     var D={'name':'songzheng'};
     return D;
});
先假设一切模块都还未加载,整个加载过程如下 (1)代码依赖着B、C模块,调用require加载B、C模块 (2)B模块不依赖于任何模块当加载成功后,回调factoryB,安装B模块 (3)在加载C模块时发现C模块依赖着D模块于是调用require加载D模块 (4)D模块不依赖任何模块,加载成功后,回调factoryD加载安装D模块 (5)C依赖的D模块加载成功后,回调factoryC,安装C模块 (6)所有依赖安装完毕,执行回调函数
我在自己的AMD实现的步骤中加了一些日志打印,可以更清晰的看到模块的加载过程
<script type="text/javascript">
     require(['Iris','cookie'], function(Iris, Cookie){
          console.info(Iris);
          console.info(Cookie);
     });
</script>




对于javascript的一个小问题

单独一行可以省略大括号,但是容易出错,比如if判断之后写两行,这样只有第一行是括号内的,另一航不是。
ex
if()
第一行 //这一行是if{}内的

第二行 //这一行不是if的
如果要避免这样的问题发生需要两行都是{}内的则
if(){
第一行
第二行

}
 

详细介绍一下AMD?

不知道你说的是厂商呢 还是它的产品 都说一下吧 说起AMD不能不提它的冤家对头INTER
Intel与AMD的竞争似乎从他们成立之初就已经注定。

1968年,Intel公司成立,随后1969年,AMD公司开始正式营业。两家公司的“斗争”由此开始。1971年,Intel研制的4004作为第一款微处理器开启了微型计算机发展的大门。

1978年,Intel出产第一颗16位微处理器8086,同时英特尔还生产出与之相配合的数学协处理器i8087,这两种芯片使用相互兼容的指令集。人们将这些指令集统一称之为 x86指令集,该指令系统沿用至今。

接触电脑比较早的人,一定知道早期的计算机表示方法都是按照X86指令集定义,比如286、386、486。当时各个公司出品的CPU都是一个名称,只是打的厂牌不同。

在微处理器发展初期,Intel提出的X86体系处理器远没有现在风光,当时IBM和苹果公司都推出了微处理器产品,在结构体系上互不相同,但性能差距不大,当时Intel对于AMD以及当时Cyrix等公司的态度十分微妙。一方面他们推出的产品和Intel的产品完全兼容,在市场上对其产品销售有一定影响;另一方面,Intel也在借助这些公司的产品稳固X86体系的地位。

在Intel与AMD发展的初期,两家公司还有过鲜为人知的合作关系,为X86体系地位的建立做出了很大贡献,随着286 、386的不断推出,特别是到486的时代,x86体系已经雄霸民用微处理器市场,IBM只有在服务器市场坚守着自己的领地,苹果被限制在了某些专业领域维持其独特的风格。

在这段时间人们对于处理器的品牌概念十分淡漠,当时的消费者只知道购买的的康柏的486或者IBM的486,并不关心处理器的Intel还是AMD。Intel凭借标准提出者的身份,一直是新产品的首发者,并且在市场份额上保持着老大的地位。AMD只能跟在对手背后以完全兼容作为生存的标准,更像是一家生产厂,在竞争上也只能以低价作为俄日裔的手段,这也是为什么AMD一直以来跟人的感觉都是一个“高性价比”品牌,其实就是低价产品的美化说法。

被迫改变

1993年,一个值得纪念的年份。在这一年,Intel一改以往的产品命名方式,对于人们认为该命名为586的产品,注册了独立的商标——Pentium(奔腾)。此举不仅震惊了市场,更是给了AMD当头一棒,AMD到了必须走一条新路的时刻。

从Pentium(奔腾)开始,Intel的宣传攻势不断加强,当时提出的“Intel Inside”口号,现在已经深入人心,经历了Pentium II(奔腾2)和Pentium III(奔腾3)两代产品,Intel已经成为微处理器市场的霸主,一直同AMD并肩作战的Cyrix公司在Intel的强势下无奈选择下嫁VIA公司,退出了市场竞争。

面对Intel的Pentium(奔腾)系列处理器,AMD在产品上虽有K5、K6等系列对抗,但从性能上一直难与Intel抗衡,只有凭借低廉的价格在低端市场勉强维持生计,眼看着Intel不断扩大其市场占有率。作为一家科技公司,AMD终于醒悟单纯的价格并不能使其产品得到用户的认可,拥有技术才是关键。

1999年,AMD推出了Athlon系列处理器,一举赢得了业界与消费者的关注,AMD彻底摆脱了自己跟随着的身份,腰身成为敢与Intel争锋的挑战者。也是在这一年,Intel放弃了使用多年的处理器接口规格,AMD也第一次没有跟随Intel的变化,一直沿用原有接口规格,标志着A......余下全文>>
 

www.bkjia.comtruehttp://www.bkjia.com/webzh/870140.htmlTechArticleJavaScript AMD规范简介(一),javascriptamd AMD是Asynchronous Module Definition的缩写,意思就是异步模块定义.AMD定义了我们所用的模块都是是异步加载的...

相关文章

相关搜索: AMD javascript

帮客评论

视觉看点