| 高级优化: 1) for循环 和 while循环用while循环将会得到比for循环更好的效率。然而,从数组中读取数据,用for in循环式最好的选择!
 所以我们不推荐使用: for (var i=0; i < 1000; i++){
 //进行某些操作
 }而推荐使用
 var i=-1
 while (++i < 1000)
 {
 //进行某些操作
 }
 2) 从数组中读取数据我们通过测试发现,for in循环的效率大大高于其他的循环方式。参看:
 arr = []MAX = 5000
 //数组赋值
 for (i=0; i < MAX; i++)
 {
 arr[i] = i
 }
 var item = null
 // For 循环
 for (var i=0; i < MAX; i++)
 {
 item = arr[i]
 }
 // For 循环
 for (var i in arr)
 {
 item = arr[i]
 }
 // While 循环
 i = -1
 while(++i < MAX)
 {
 item = arr[i]
 }
 3) 向数组中写入数据(while , for)可以看到while循环稍占优势。 4) _global(全局)变量同Timeline(时间轴)变量我们猜测采用全局变量能提高变量调用速度,然而效果并不像预计的那样明显。
 5) 单行、多行变量赋值我们发现单行变量赋值效率大大高于多行。比如:
 a = 0b = 0
 c = 0
 d = 100
 e = 100
 效率就不如: a = b = c = 0d = e = 100
 6) 变量名寻址这个测试反映了变量名的预寻址是非常重要的,尤其是在循环的时候,一定要先给丁一个指向。这样大大节约了寻址时间。
 比如: var num = nullt = getTimer()
 for (var i=0; i < MAX; i++)
 {
 num = Math.floor(MAX) - Math.ceil(MAX)
 }
 t1.text = "Always lookup: " + (getTimer() - t)
 就不如: t = getTimer()var floor = Math.floor
 var ceil  = Math.ceil
 for (var i=0; i < MAX; i++)
 {
 num = floor(MAX) - ceil(MAX)
 }
 出处:相关论坛
责任编辑:bluehearts
 上一页 FLASH程序优化 [2] 下一页 FLASH程序优化 [4] ◎进入论坛RIA设计与应用版块参加讨论
	      |