一般优化
1 变量
用var声明局部变量,例如:
function doosomething()
{
mx=100;
for(i=0;i<10;i++)
{
//语句
}
}// 这种不好
function doosomething()
{
var mx=100;
for(i=0;i<10;i++)
{
//语句
}
}//这种效率高。因为局部变量引用快,而且变量使用后,系统会自动回收。
2 帧频设置最好在 25~35fps。
3 位图与矢量图。
(1) 矢量图做好去掉边框。
(2) gif ,jpg ,png这些位图中,以png格式的位图,渲染得最快。
4 影片剪辑的_visible属性。
_visible=false;
只是看不见而已,该MC仍然存在。仍然需要计算。
我们可以将该MC 的第一帧设成空关键帧,在需要的时候再用gotoandstop()语句到你想要的帧。
5 数组
循环中的数组,多用for in语句,而少用for ,while语句。
例如: for(for i in arr)
{
if(arr>50)
{
//语句
}
}
高级优化
1 for循环与while循环
代码1:
for(var i=0;i<1000;i++)
{
//code
}
代码2:
var i=-1;
while(++i<1000)
{
//code
}
在用attchMove()动态导入mc时,代码2 效率较代码1 高。
2 从数组中读取数据。
for in 语句较快。
3 向数组写入数据
while循环稍微好点。
4 合并相同项
例如 :
代码1
var nm=null;
for(var i=0;i<MAX;i++)
{
num=Math.floor(MAX)-Math.ceil(MAX);
}
代码2
var nm=null;
var floor=Math.floor;
var ceil=Math.ceil
for(var i=0;i<MAX;i++)
{
num=floor(MAX)-ceil(MAX);
}
5 _global 变量与时间轴变量
_global全局变量比时间轴变量引用快。
6 单行付值 与多行付值。
a=b=c=0;
比 a=0;
b=0;
c=0;
效率高,(虽然影响可读性。)
7 变量名
变量名越短越好。
8 循环体中的变量
将变量在循环体中声明 比 在循环体前声明 效果要好。
例如
代码1
for(i=0;i<50;i++)
{
var nm=1
语句;
}
代码2
var nm=1;
for(i=0;i<50;i++)
{
语句;
}
代码1 比代码2效率高。
9 用嵌套if 代替。。(不知怎么翻译了 -_- P)
代码1
if(a==1)
{ if(a==1)
{ if(c==3)
{ if(d==4)
{
var k=a*b*c*d;
}
}
}
}
代码2
if(a==1&& b==2&& c==3&& d==4)
{
var k=a*b*c*d;
}
代码1比代码2 效率高。