- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
for循环效率
for循环效率
新的 for each … in 除了遍历XML,同样可以用来遍历数组和对象。创建“百万雄兵”:
var testArr:Array = new Array();
for(var i:Number = 0; i 1000000; i++)
{
testArr.push(i);
}
以前的 for 和 for … in 以及新的 for each … in 循环:
//for 260毫秒
var len:Number = testArr.length;
for(var j:Number = 0; j len; j++)
{
testArr[j]++;
}
//for ... in 8000毫秒
for(var k:String in testArr)
{
testArr[k]++;
}
//for each ... in 58毫秒
for each (var m:Number in testArr)
{
m++;
}
效率如何呢?经过多次测试,for 循环平均260毫秒(不预存数组长度平均400毫秒),for … in 循环平均8000毫秒,for each … in 循环58毫秒!!所以应该尽量避免 for … in ,多用 for each … in ,用for循环的话最好预存数组长度(var len:Number = testArr.length;)。
Object的情况,for … in 平均560毫秒,for each … in 平均8毫秒。
var testObj:Object = new Object();
for(var i:Number = 0; i 100000; i++)
{
testObj[i] = i + 1;
}
//for ... in 读取标签 560毫秒
for(var j:String in testObj)
{
testObj[j]++;
}
//for each ... in 直接读值 8毫秒
for each(var k:Number in testObj)
{
k++;
}
for……in和for each……in
var obj:Object={
key1:value1,
key2:value2,
key3:value3};
for(var k in obj){
trace(键:+k+\t值:+obj[k]);
}
/*输出
键:key1 值:value1
键:key2 值:value2
键:key3 值:value3
*/
for each(var k in obj){
trace(值:+k);
}
/*输出
值:value1
值:value2
值:value3
*/
可以看出,for……in和for each……in的区别在于,for……in的枚举变量代表的是键,必须要通过数据访问符[]加上这个键值,才能访问到集合成员。而for each……in的枚举变量k则直接代表集合的成员。也就是说,当程序需要使用键的信息时,用for……in;只需要访问集合成员时,使用for each……in最方便。在实践中,for each……in使用比for……in多一些。大部分情况下,我们并不需要知道成员的名字(键)。
?xml version=1.0 encoding=utf-8?
s:Application xmlns:fx=/mxml/2009
xmlns:s=library:///flex/spark
xmlns:mx=library:///flex/mx
minWidth=955
minHeight=600
fx:Declarations
!-- 将非可视元素(例如服务、值对象)放在此处 --
/fx:Declarations
fx:Script
![CDATA[
private var xmlData:XML=items
item
ID1/ID
NAMENode1/NAME
LOCLAYER1/LOCLAYER
/item
item
ID2/ID
NAMENode2/NAME
LOCLAYER2/LOCLAYER
/item
item
ID3/ID
NAMENode3/NAME
LOCLAYER3/LOCLAYER
/item
item
ID4/ID
NAMENode4/NA
您可能关注的文档
最近下载
- 广东省紧密型县域医共体(已挂牌)名单明细表1126.doc VIP
- [产品_解决方案概述]华为FusionAccess桌面云解决方案6.2概述.pdf VIP
- 《华科概率论与数理统计课件——概率论》.ppt VIP
- 图集规范-浙江图集-2010浙G22管桩.pdf VIP
- 中建八局高大模板施工标准化图册(盘扣架脚手架)2024年 .pdf VIP
- 一种竹质柱状活性炭及其制备方法和应用.pdf VIP
- Mogas金属硬密封球阀的构造特点.docx VIP
- T-CECS 10107-2020超高性能混凝土(UHPC)技术要求(OCR).pdf
- 2025年高考真题解析课件:2025年全国新高考二卷英语读后续写(课件).pptx VIP
- 《江南逢李龟年》课件.pptx VIP
文档评论(0)