仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 944|回复: 8
打印 上一主题 下一主题

[DIV+CSS] 来讲讲:Javascript教程:优化JS代码的轮回

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 22:57:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学习这篇入门教程之前,请确定你已经具有了一定的HTML基础。
破洛洛文章简介:停止语:在测试过程当中发明非IE扫瞄器下,优化后和优化前的效力差异并非很年夜,乃至能够疏忽,这申明这些扫瞄器的JS引擎对轮回做了很好的优化,对开辟者长短常友爱的体现,无法IE6、7、8下差异很分明,但这切合我们预期。因而,从速对JS代码中的对轮回举行优化吧!
轮回是年夜多半编程言语都具有的基础功效,JS也不破例,分歧的地方在于JS是注释型言语,运转于扫瞄器情况中,客户真个软硬件前提会对JS实行效力发生很年夜的影响。但是客户端情况关于开辟者是未知、多样的,而且难以改动,以是优化代码质量是进步代码效力的次要路子。
JS代码中,轮回是对照简单招致功能成绩的要素。了解轮回特征进而有针对性地举行优化大概会带来不错的功能提拔。for、while、do-while轮回:
这三种轮回自己的轮回效力相差未几,以是只需依据合适的使用场景选择便可。
以for轮回为例:
  1. varaValues=["a","b","c","d"];for(vari=0;i<aValues.length;i+=1){fDoSomethingA(aValues[i]);fDoSomethingA(aValues[i]);}
复制代码
  1. 下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues[i]因为被读取两次以上,我们也能够将它赋值给部分变量:
复制代码
  1. varaValues=["a","b","c","d"],nLength=aValues.length;for(vari=0,sValue;i<nLength;i+=1){sValue=aValues[i];fDoSomethingA(sValue);fDoSomethingB(sValue);}
复制代码
假如轮回的营业逻辑对轮回按次不敏感,能够实验倒序轮回,行将计数器递加到0。[/code]
  1. varaValues=["a","b","c","d"],nLength=aValues.length;for(vari=nLength,sValue;i-=1;){sValue=aValues[i];fDoSomethingA(sValue);fDoSomethingB(sValue);}
复制代码
  1. 利用这类体例计数器默许与0举行对照,连部分变量对照都省略了,实际上也能进步效力。
复制代码
  1. for-in轮回:
复制代码
  1. for-in轮回更像在穷举,他用来遍历工具属性,我们晓得工具属性的查找会一向持续到原型链顶端,这将年夜年夜下降轮回效力。for-in轮回的写法上没有甚么优化空间,必要在利用时遵守必定准绳:只管只在遍历数据型工具的时分才利用for-in轮回。假如遍历工具的属性是明白的,可使用数组轮回替换。比方遍历一个接洽人工具:
复制代码
  1. varaContact=["N","FN","EMAIL;PREF",...];for(vari=aContact.length;i-=1;){fDoSomething(aContact[i]);}
复制代码
[/code]
  1. Duff战略Duff战略的次要道理是经由过程睁开轮回削减次数来进步效力。比方一个一般轮回:for(vari=aValues.length;i-=1;){fDoSomething(aValues[i]);}
复制代码
[/code]
  1. 假如aValues.length==N,写成以下这类体例的效力将比循坏来的高:
复制代码
  1. 下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues[i]因为被读取两次以上,我们也能够将它赋值给部分变量:0
复制代码
[/code]
  1. 下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues[i]因为被读取两次以上,我们也能够将它赋值给部分变量:1
复制代码
  1. 下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues[i]因为被读取两次以上,我们也能够将它赋值给部分变量:2
复制代码
如上所示,每轮轮回能够实行8个接洽人数据的格局化操纵,另有一轮轮回用于处置余下的接洽人。因而可知,在接洽人较多的情形下总的轮回次数年夜年夜下降,能够下降轮回的损耗。别的,8是Duff战略提出的最优值。[/code]
  1. 下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues[i]因为被读取两次以上,我们也能够将它赋值给部分变量:3
复制代码
  1. 下面例子中每次轮回都要对照i与数组的长度,以是每次都要从头读取数组长度,由假如数组长度在轮回中是稳定的,如许做就没有需要,我们可使用部分变量取代length的读取。同理,例子中,aValues[i]因为被读取两次以上,我们也能够将它赋值给部分变量:4
复制代码
[/code][/code][/code][/code]</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 | 只看该作者
俗话说:兴趣是最好的老师。做每一件事都离不开兴趣的驱动。兴趣是自学技术需要迈出的第一步。在学习的过程中,我们难免会遇到各种各样的问题。
莫相离 该用户已被删除
5#
发表于 2015-2-11 06:15:15 | 只看该作者
在Dreamweaver里可以很轻松的完成图文混排、插入图片、插入Flash、插入音频、插入视频。
小妖女 该用户已被删除
6#
发表于 2015-3-1 23:46:05 | 只看该作者
Dreamweaver是集网页制作和管理网站于一身的所见即所得网页编辑器,在编辑时能同时看到源码和设计界面,非常方便新手学习制作网页。
若相依 该用户已被删除
7#
发表于 2015-3-11 03:17:53 | 只看该作者
运动)时间轴面板--拖动关键帧--单击整条--将鼠标移至中间一点--右击选择增加关键帧--移动中间关键帧的图层--勾选自动播放,循环
精灵巫婆 该用户已被删除
8#
发表于 2015-3-17 21:10:41 | 只看该作者
我深感到交流的重要。善于交流的人才是善于学习的人。在整个技术的学习过程中,我总结了四大定律:兴趣、恒心、虚心、时间。
乐观 该用户已被删除
9#
发表于 2015-3-25 06:32:02 | 只看该作者
还是在Dreamweaver所见即所得添加链接是,可以选中文字或图片然后按下shift键不放鼠标拖出箭头直接指向文件即可。这是比较简单的也是常用的方之一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-20 18:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表