总结了一些资料,都是在网上看到的..
变量名要用 var 声明;
多用局部变量
+ 比 - 要慢....
while 循环比 for if 快...
哈希数组的使用:
比如要往一个序列里添加内容,但是又不可以是这个序列里已经有的,也就是说保证这个序列里的内容是不重复的,最常见的是数组,加入很方便,push进去,但是要判断是否重复了,就很麻烦,一般都是用一个for遍历,逐一对比,但是每push一次都要先做个循环判断,就非常之慢
于是改用object,
var xxx={aaa:1,abc:1,ccc:1};
那我在新加入的时候只要判断if(xxx['ddd']!=1)xxx['ddd']=1,不必再遍历
要取得整个序列也很方便,for(var i in xxx)trace(i+'='+xxx[i])
我们知道,一个数向右位移N位,等价于他乘以2的N次方,从理论上来说,前一种的运算速度会更快,这是因为电脑的CPU对二进制运算处理更快
比如, 3*Math.pow(2,8)这样的表达式,如果用3<<8来运算会来得更快。。。。。
同理,一个数左位移N位也比他除以2的N次方(没有余数)更快。。。
如果一个if(exp)语句里的表达试比较复杂,那么实际上你将它分开来判断是一个更好的办法。
比如,
if(exp1 || exp2 || exp3 || exp4){ ....... }
这样的判断语句,而且每个表达式本身也比较复杂的话,如果这样来写:
if(exp1){....}
else if(exp2){....}
else if(exp3){....}
else if(exp4){....}
他的运行会更快,而且超乎你的想象的是——后一种生成的文件比前一种更小!
switch的另一种写法:
var x=1.5;
switch(true) {
case x>1:
trace('>1');
break;
case x<1:
trace('<1');
break;
case x==1:
trace('=1');
break;
}
变量名要用 var 声明;
多用局部变量
+ 比 - 要慢....
while 循环比 for if 快...
哈希数组的使用:
比如要往一个序列里添加内容,但是又不可以是这个序列里已经有的,也就是说保证这个序列里的内容是不重复的,最常见的是数组,加入很方便,push进去,但是要判断是否重复了,就很麻烦,一般都是用一个for遍历,逐一对比,但是每push一次都要先做个循环判断,就非常之慢
于是改用object,
var xxx={aaa:1,abc:1,ccc:1};
那我在新加入的时候只要判断if(xxx['ddd']!=1)xxx['ddd']=1,不必再遍历
要取得整个序列也很方便,for(var i in xxx)trace(i+'='+xxx[i])
我们知道,一个数向右位移N位,等价于他乘以2的N次方,从理论上来说,前一种的运算速度会更快,这是因为电脑的CPU对二进制运算处理更快
比如, 3*Math.pow(2,8)这样的表达式,如果用3<<8来运算会来得更快。。。。。
同理,一个数左位移N位也比他除以2的N次方(没有余数)更快。。。
如果一个if(exp)语句里的表达试比较复杂,那么实际上你将它分开来判断是一个更好的办法。
比如,
if(exp1 || exp2 || exp3 || exp4){ ....... }
这样的判断语句,而且每个表达式本身也比较复杂的话,如果这样来写:
if(exp1){....}
else if(exp2){....}
else if(exp3){....}
else if(exp4){....}
他的运行会更快,而且超乎你的想象的是——后一种生成的文件比前一种更小!
switch的另一种写法:
var x=1.5;
switch(true) {
case x>1:
trace('>1');
break;
case x<1:
trace('<1');
break;
case x==1:
trace('=1');
break;
}
回复Comments
作者:
{commentrecontent}