梦幻屋

软件搜索:

如何优化javascript脚本的性能

更新时间: 2007-7-5 18:00:00 来源: nirvanastudio  作者: 佚名 Add to ToLib.com...
  •   如何优化javascript脚本的性能......

附录1

由于是以前做过的测试,测试代码已经不全,我补充了一部分如下:

var print;



if(typeof document != "undefined" ){

    print = function(){

		document.write(arguments[0]);

	}

}else if(typeof WScript != "undefined" ){

    print = function(){

        WScript.Echo(arguments[0],arguments[1],arguments[2]);

    }

}



function empty(){

}



function benchmark(f){

    var i = 0;

    var start = (new Date()).getTime();

 

    while(i < pressure){

        f(i++);

    }

    var end = (new Date()).getTime();

    WScript.Echo(end-start);

}



/*

i=0

start = (new Date()).getTime();

while(i < 60000){

    c = [i,i,i,i,i,i,i,i,i,i];

    i++;

}

end = (new Date()).getTime();

WScript.Echo(end-start);

i=0

start = (new Date()).getTime();

while(i < 60000){

    c = new Array(i,i,i,i,i,i,i,i,i,i);

    i++;

}

var end = (new Date()).getTime();

WScript.Echo(end-start);

*/



function internCast(i){

    return "" + i;

}



function StringCast(i){

    return String(i)

}

function newStringCast(i){

    return new String(i)

}

function toStringCast(i){

    return i.toString();

}

function ParseInt(){

    return parseInt(j);

}

function MathFloor(){

    return Math.floor(j);

}

function Floor(){

    return floor(j);

}

var pressure = 50000;

var a  = "";

var floor = Math.floor;

j = 123.123;

print("-------------\nString Conversion Test");

print("The empty:", benchmark(empty));

print("intern:", benchmark(internCast));

print("String:");

benchmark(StringCast);

print("new String:");

benchmark(newStringCast);

print("toString:");

benchmark(toStringCast);

print("-------------\nFloat to Int Conversion Test");

print("parseInt");

benchmark(ParseInt);

print("Math.floor");

benchmark(MathFloor);

print("floor")

benchmark(Floor);



function newObject(){

    return new Object();

}



function internObject(){

    return {};

}

print("------------\nliteral Test");

print("runtime new object", benchmark(newObject));

print("literal object", benchmark(internObject));

上一页  [1] [2] [3] [4] 下一页

梦幻屋
  • 上一篇文章:

  • 此栏目下没有文章
  • 热点推荐

    女性推荐
    排行榜

    梦幻屋学院
    设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 |  
    Copyright© 2005-2006 梦幻工作室版权所有. All rights reserved.
    经营许可证编号:蜀ICP备07002423