• 奇爱公告:
  • 设为首页
  • |
  • 收藏本站
  • |
  • RSS阅读
  • |
  • 网站地图
  • |
  • 站内搜索
  • 奇爱素材网

  • 首页 酷站 PNG 矢量 GIF 笔刷 背景 PSD 欣赏 代码 FLA 教程 图库 书店
  • 您现在的位置: 奇爱素材网 >> 设计教程 >> 网页设计 >> Flash >> 正文 |
  • 愚人呓语的AS3笔记:for each in

    作者:佚名 素材来源:转载 点击数: 更新时间:2007-6-14 21:47:21

     新的 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++;
    }

    小编物语:还是那句话,我们不是每个人都能对FLEX如此了解,但我们每个人都能够为我们兴趣做点点努力。只要你的一次点击,一次留言就能给作者更多的动力。国际惯例……集体至愚人呓语的窝灌水。

  • 上一篇教程: 愚人呓语的AS3学习笔记:Function
  • 下一篇教程: Flex和Jsp之间中文参数的传递
    • 提点建议 | 友情链接 | 广告服务 | 免责声明 | 联系我们 | 网站地图 | RSS阅读
      Copyright © 2006-2008 Www.72sc.coM, All Rights Reserved 版权所有 奇爱素材网 鄂ICP备07010427号
      ++技术交流QQ群号码:1226944 ++业务联系QQ:19295971