把函数包含在内部又怎样呢?如下。
我靠,竟然比调用外部函数还要慢!达到19秒。
当然了,偶谈论的是多次试验的平均值。
不用函数调用平均7秒。毫无疑问,这个结果太残酷了,对偶等结构化的鼓吹者无疑是当头一棒。看来要平衡性能和开发进程确实不容易。begin=new Date();function A1(){ function A2(){
var j;
for(j=0;j<5;j++){
k=1;
}
}
var j,k=9; for (var i=0;i<100000;i++){ //*********** 第一部分 ************* A2();//调用外部函数,偶的机器要花16秒 //********************************** //*********** 第二部分 **************
//for(j=0;j<5;j++){//内部同样的循环,外加一个判断式,耗时7秒
// k=1;
//}
//if(k<0) j=9; //********************************** }
}A1();
end=new Date();
document.write(end.getTime()-begin.getTime());
我靠,竟然比调用外部函数还要慢!达到19秒。
当然了,偶谈论的是多次试验的平均值。
不用函数调用平均7秒。毫无疑问,这个结果太残酷了,对偶等结构化的鼓吹者无疑是当头一棒。看来要平衡性能和开发进程确实不容易。begin=new Date();function A1(){ function A2(){
var j;
for(j=0;j<5;j++){
k=1;
}
}
var j,k=9; for (var i=0;i<100000;i++){ //*********** 第一部分 ************* A2();//调用外部函数,偶的机器要花16秒 //********************************** //*********** 第二部分 **************
//for(j=0;j<5;j++){//内部同样的循环,外加一个判断式,耗时7秒
// k=1;
//}
//if(k<0) j=9; //********************************** }
}A1();
end=new Date();
document.write(end.getTime()-begin.getTime());
解决方案 »
- 如何设置createTextNode产生字体的大小?
- ASP如何保存下拉框中的值
- 求助:document.getElementById(...).className = ''不执行!
- 使用JS动态给(X)HTML文件添加CSS文本(IE+FF)
- 如何在onkeydown或者onkeypress中取到key的实际ascii?
- 怎么理解这句话:Javascript 是一种安全性的语言,它不允许访问本地的硬盘
- XMLHttpRequest的问题!
- 能不能在子窗体内用JS关闭父窗体?
- javascript文本框处理问题
- *javascript悬停左侧菜单时右侧菜单不显示是什么原因?求帮助!*
- javascript中怎么限制两个数相除后结果为整数?
- 孟子,新问题,劳驾。给函数传递的字符参数如果有空格,怎么报错?说“未结束的字符串”?
for(i=0;i<5;i++)a(i);
那么改写成
a(0)
a(1)
a(2)
a(3)
a(4)
效率会提高;
如果你的循环很大,那么把i++改写成++i,也会对你的效率有所提高。
//for(j=0;j<5;j++){//内部同样的循环,外加一个判断式,耗时7秒
// k=1;
//}
//if(k<0) j=9;
也就当然快了。
function Some(sMode){
for(i=0;i<10000;i++){ Main Part Staments Here
arrayResults[i]=something;
if(sMode=='mode2')arrayResults[i]=an additional operate statement here;
}
return arrayResults;
}很显然是否附加对结果集的操作实际只需判断一次,但是在这里却被按循环次数执行。
倘换个方式,完整地书写主代码两次,效率会提高。但是似乎不科学,谁也不赞成重复代码啊,若主代码段较长的话,事情更讨厌。
不就是copy+paste么?