灵魂腐蚀 发表于 2015-1-15 22:57:56

来讲讲:Javascript教程:优化JS代码的轮回

学习这篇入门教程之前,请确定你已经具有了一定的HTML基础。
破洛洛文章简介:停止语:在测试过程当中发明非IE扫瞄器下,优化后和优化前的效力差异并非很年夜,乃至能够疏忽,这申明这些扫瞄器的JS引擎对轮回做了很好的优化,对开辟者长短常友爱的体现,无法IE6、7、8下差异很分明,但这切合我们预期。因而,从速对JS代码中的对轮回举行优化吧!
轮回是年夜多半编程言语都具有的基础功效,JS也不破例,分歧的地方在于JS是注释型言语,运转于扫瞄器情况中,客户真个软硬件前提会对JS实行效力发生很年夜的影响。但是客户端情况关于开辟者是未知、多样的,而且难以改动,以是优化代码质量是进步代码效力的次要路子。
JS代码中,轮回是对照简单招致功能成绩的要素。了解轮回特征进而有针对性地举行优化大概会带来不错的功能提拔。for、while、do-while轮回:
这三种轮回自己的轮回效力相差未几,以是只需依据合适的使用场景选择便可。
以for轮回为例:
varaValues=["a","b","c","d"];for(vari=0;i<aValues.length;i+=1){fDoSomethingA(aValues);fDoSomethingA(aValues);}下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues因为被读取两次以上,我们也能够将它赋值给部分变量:varaValues=["a","b","c","d"],nLength=aValues.length;for(vari=0,sValue;i<nLength;i+=1){sValue=aValues;fDoSomethingA(sValue);fDoSomethingB(sValue);}假如轮回的营业逻辑对轮回按次不敏感,能够实验倒序轮回,行将计数器递加到0。varaValues=["a","b","c","d"],nLength=aValues.length;for(vari=nLength,sValue;i-=1;){sValue=aValues;fDoSomethingA(sValue);fDoSomethingB(sValue);}利用这类体例计数器默许与0举行对照,连部分变量对照都省略了,实际上也能进步效力。for-in轮回:for-in轮回更像在穷举,他用来遍历工具属性,我们晓得工具属性的查找会一向持续到原型链顶端,这将年夜年夜下降轮回效力。for-in轮回的写法上没有甚么优化空间,必要在利用时遵守必定准绳:只管只在遍历数据型工具的时分才利用for-in轮回。假如遍历工具的属性是明白的,可使用数组轮回替换。比方遍历一个接洽人工具:varaContact=["N","FN","EMAIL;PREF",...];for(vari=aContact.length;i-=1;){fDoSomething(aContact);}Duff战略Duff战略的次要道理是经由过程睁开轮回削减次数来进步效力。比方一个一般轮回:for(vari=aValues.length;i-=1;){fDoSomething(aValues);}假如aValues.length==N,写成以下这类体例的效力将比循坏来的高:下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues因为被读取两次以上,我们也能够将它赋值给部分变量:0下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues因为被读取两次以上,我们也能够将它赋值给部分变量:1下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues因为被读取两次以上,我们也能够将它赋值给部分变量:2
如上所示,每轮轮回能够实行8个接洽人数据的格局化操纵,另有一轮轮回用于处置余下的接洽人。因而可知,在接洽人较多的情形下总的轮回次数年夜年夜下降,能够下降轮回的损耗。别的,8是Duff战略提出的最优值。下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues因为被读取两次以上,我们也能够将它赋值给部分变量:3下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues因为被读取两次以上,我们也能够将它赋值给部分变量:4</p>
另外如果你不是javascrput的高手,你可以不必去写ID,只用class就可以。当客户端程序员写完程序,需要调整时候,你可以在利用他的ID进行控制。

变相怪杰 发表于 2015-1-17 19:56:11

时间轴)窗口--时间轴--选中图层并拖图层到时间轴,将其放在指定帧上

再见西城 发表于 2015-1-26 22:23:48

足见市场的反响和MACROMEDIA公司对它们的自信。说到Dreamweaver8我们应该了解一下网页编辑器的发展过程,随着互联网(Internet) 的家喻户晓。

小魔女 发表于 2015-2-5 04:46:03

俗话说:兴趣是最好的老师。做每一件事都离不开兴趣的驱动。兴趣是自学技术需要迈出的第一步。在学习的过程中,我们难免会遇到各种各样的问题。

莫相离 发表于 2015-2-11 06:15:15

在Dreamweaver里可以很轻松的完成图文混排、插入图片、插入Flash、插入音频、插入视频。

小妖女 发表于 2015-3-1 23:46:05

Dreamweaver是集网页制作和管理网站于一身的所见即所得网页编辑器,在编辑时能同时看到源码和设计界面,非常方便新手学习制作网页。

若相依 发表于 2015-3-11 03:17:53

运动)时间轴面板--拖动关键帧--单击整条--将鼠标移至中间一点--右击选择增加关键帧--移动中间关键帧的图层--勾选自动播放,循环

精灵巫婆 发表于 2015-3-17 21:10:41

我深感到交流的重要。善于交流的人才是善于学习的人。在整个技术的学习过程中,我总结了四大定律:兴趣、恒心、虚心、时间。

乐观 发表于 2015-3-25 06:32:02

还是在Dreamweaver所见即所得添加链接是,可以选中文字或图片然后按下shift键不放鼠标拖出箭头直接指向文件即可。这是比较简单的也是常用的方之一。
页: [1]
查看完整版本: 来讲讲:Javascript教程:优化JS代码的轮回