======================================================
注:本文源代码点此下载
======================================================
在设计选择器,我就做了这方面的比较,只不过这次幸运遇到另一个测试程序,它覆盖面更广,测试类型更全面。最后发现自己在选择器中用了一个很慢的循环……囧。由于ie性能比较低下,原程序根本无法运行,因此我把它移到我的博客上来,汉化一下,并减少大量的测试个数(原程序测试个数为1000,我把ie的测试个数减少为300)。但即使这样,它还是弹出警告框问你是否中止循环,你继续按否,就能看到结果了。
="" ="" javascript循环测试程序="" 开始测试="" ="" ="">
运行代码
由上面的实验我们基本上可得出以下结论:
while循环比for循环快。
倒序循环比顺序循环快。
缓存length属性比不缓存快。
请不要用arr[i]来判断是否中止循环。
请不要在循环内声明变量,用它来引用数组元素,若真的想省几个字符,请在循环外声明。
除非是循环对象的属性,请不要用for...in循环。
请不要用javascript 1.6 的foreach迭代器,特慢!如果一定要用foreach,那么建议自己打造一个。
由于javascript与dom紧密相连,操作dom基本上是操作其中的元素节点,因此我觉得基本上以下几个循环就够用:
//顺序
for(var i=0,n=arr.length;i
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
本文通过实验对比了不同类型的JavaScript循环的性能,包括while循环、for循环等,并给出了提高循环效率的建议。
86

被折叠的 条评论
为什么被折叠?



