switch与if elseif的比较
switch与if elseif的比较
对同一个变量的不同值作条件判断时,可以用switch语句与if语句,哪个语句执行效率更高呢,答案是switch语句,尤其是判断的分支越多越明显。这个是用switch语句做10000次判断
a=getTimer();
b=10000;
n=9;
while(b>0){
switch(n){
case1:
b--;
break;
case2:
b--;
break;
case3:
b--;
break;
case4:
b--;
break;
case5:
b--;
break;
case6:
b--;
break;
case7:
b--;
break;
case8:
b--;
break;
case9:
b--;
break;
case10:
b--;
break;
default:
b--;
break;
}
}
trace(getTimer()-a);
这个是用if语句做10000次判断
a=getTimer();
b=10000;
n=9;
while(b>0){
if(n==1){
b--;
}elseif(n==2){
b--;
}elseif(n==3){
b--;
}elseif(n==4){
b--;
}elseif(n==5){
b--;
}elseif(n==6){
b--;
}elseif(n==7){
b--;
}elseif(n==8){
b--;
}elseif(n==9){
b--;
}elseif(n==10){
b--;
}else{
b--;
}
}
trace(getTimer()-a);
switch语句的执行结果为71,if语句的结果为140,switch语句执行速度比if语句快了一倍,上面的n取值越大,分支越多,结果相差越大。