<script>
var s="abc";
var rep=1000;
var str;
var sa=new Array();
var re=new Array();
for (var i=0;i<rep;i++){
sa[i]=s + i;
re[i]=eval("/c" + i + "/g");
}
str=sa.join("");
var d=new Date();
for (i=0;i<rep;i++){
str.replace("c" + i, "");
}
var a=new Date()-d;
d=new Date();
for (i=0;i<rep;i++){
str.replace(re[i], "");
}
var b=new Date()-d;
d=new Date();
for (i=0;i<rep;i++){
sa[i].replace("c" + i, "");
}
var c=new Date()-d;
d=new Date();
for (i=0;i<rep;i++){
sa[i].replace(re[i], "");
}
var d=new Date()-d;
<script>
var s="abc";
var str;
var sa=new Array();
var re=new Array();
for (var i=0;i<500;i++){
sa[i]=s + i;
re[i]=eval("/c" + i + "/g");
}
str=sa.join("");
var d=new Date();
for (i=0;i<500;i++){
str.replace("c" + i, "");
}
var a=new Date()-d;
d=new Date();
for (i=0;i<500;i++){
str.replace(re[i], "");
}
var b=new Date()-d;
d=new Date();
for (i=0;i<500;i++){
sa[i].replace("c" + i, "");
}
var c=new Date()-d;
alert("String replace elapsed:\t" + a + "ms\nRegExp replace elapsed:\t" + b + "ms\nString Array replace elapsed:\t" +c + "ms");
</script>
to meizz(梅花雨):
我做树型列表的htc时发现的这个问题,刚开始时用creatELement发现150多个节点显示要1,2分钟.后来将所有的createElement改成了字符串的连接中间用到了replace方法.150多个节点显示要10秒左右.现在把replace方法去掉后,改用另外一种方式,就只用3秒左右.
可是随着时间用的越来越少,程序的可读性则越来越差.