返回列表 发帖
在页面加载后才提高 js 效率没多大作用吧。

TOP

"页面加载"与"JS执行"是同一回事吗?
加速的是JS执行效率,不是页面下载速度.

TOP

回复 14# 的帖子

我的意思是在页面加载后才增加 js 效率对日常浏览网页没有太大帮助,因为大部份网页的 js 都是在页面加载时执行的,很少在页面加载后还需要执行大量 js。

我是说 "页面加载" ,并非 "页面下载" 。

[ 本帖最后由 AY 于 2008-1-28 11:39 编辑 ]

TOP

那就要看TW加载自动插件,是在onload之前还是之后.

不过TW好象一直都有个问题,就是页面刷新后,自动插件并没有再次执行.

anyway,这个插件只是玩具性质,不必太过于迷信"xx加速"这种东东.

TOP

对,页面刷新后,自动插件不会再次执行~这是个问题,我在另外一个帖就是因了考虑这个才问的
忆景怀甜人心醉,恋景思甜痴难追,誓作甜筒永不悔!
ttrry的QQ空间

TOP

杂草,请帮忙看看这段js的效率,为何当位数多或调用太频繁就CPU占用狂飙

function outnum(n,ln){
var s=n.toString().length;
if (s<ln){
var z="";
for (i=0;i<eval(ln-s);i++){z+="0";}return z+n;}
else{return n;}
}

TOP

有假死现象哦,why

function outnum(n,ln){
var s=n.toString().length;
if (s<ln){
var z="";
for (i=0;i<eval(ln-s);i++){z+="0";}return z+n;}
else{return n;}
}

TOP

//优化循环
function outnum1(n, ln)
{
    var sn = n.toString();
    for (var i = sn.length; i < ln; i++) sn = "0" + sn;
    return sn;
}
alert(outnum1(123, 5));

//如果是填充"0",可以用10的n次方代替n个"0"相加
function outnum2(n, ln)
{
    var sn = n.toString();
    var i = Math.max(sn.length, ln);
    sn = "" + Math.pow(10, ln) + sn;
    return sn.substring(sn.length - i);
}
alert(outnum2(123, 5));

//如果可以的话,直接用pattern,省去每次调用都要进行加"0"的运算
function outnum3(n, patt)
{
    var sn = n.toString();
    var i = Math.max(sn.length, patt.length);
    sn = patt + sn;
    return sn.substring(sn.length - i);
}
alert(outnum3(123, "00000"));

TOP

这样可是试试不出来的

我自己弄了一段进制转换的js,想用格式化输出,可是非常慢,而且假死

function car(carr){
var cdrr="";
//if (!carr){cdrr='请输入数字';};
for (i=0;i<carr.length;i++){
var m=carr.charAt(i);
//var n=parseInt(m,16).toString(2);
var nts=outnum(m.valueOf(),4);
cdrr+=nts+" ";
}
darr.value=cdrr;
//alert(carr);
}

[ 本帖最后由 sky5 于 2008-1-30 12:33 编辑 ]

TOP

var s;

var date = new Date;
for (var i = 0; i < 100000; i++) s = outnum1(123, 5);
alert(new Date - date);  //986

date = new Date;
for (var i = 0; i < 100000; i++) s = outnum2(123, 5);
alert(new Date - date);  //1656

date = new Date;
for (var i = 0; i < 100000; i++) s = outnum3(123, "00000");
alert(new Date - date);  //1375

我错了,看来Math.pow和String.substring也是很慢的,这也许是IE的内伤:JS引擎太慢.

而你原来的那个函数,用这种执行10万次来测速的话,根本就死机了.

[ 本帖最后由 杂草 于 2008-1-30 13:04 编辑 ]

TOP


  1. a=5 //长度几位
  2. s='214' //待格式化的数或字符
  3. k=(new Array(a)).join('0').slice(s.length-a)+s
  4. alert(k)
复制代码

欢迎你们到51js.com来讨论js问题。

TOP

天下无不散之筵席.

世界之窗浏览器开发计划

TOP

返回列表