js简易函数性能测试器

如果你不想用浏览器的js性能测试工具,可以用下面这个简单的函数测试一下(1毫秒一下的就测不出来了)

function testFn(fn,param){
	var start = new Date().getTime();
	fn(param);
	var end = new Date().getTime();
	console.log(fn.name+"耗时:"+(end - start)+"毫秒"); //IE不支持fn.name
}

下面就来测试一下

var arr = [];
for(var i=0;i<10000;i++){
	arr.push(i);
}
function getSumUseFor(arr){
	var sum = 0;
	var len =arr.length;
	for(var i=0;i<len;i++){
		sum+=arr[i];
	}
	console.log(sum);
}
function getSumUseShift(arr){
	var sum = 0;
	var len =arr.length;
	for(var i=0;i<len;i++){
		sum+=arr.shift();
	}
	console.log(sum);
}
testFn(getSumUseFor,arr);
testFn(getSumUseShift,arr);

结果显示for的效率要明显高于shift()

================分割线===========================

1ms以内可以用console.time进行测试,代码如下

function testFn(fn,param){
	console.time("small loop");
	fn(param);
	console.timeEnd("small loop");
}

执行一段代码,结果如下:

console.time和console.timeEnd使用说明:

这两个函数通常一起使用,都只接受一个参数,这两个参数都是字符串,随便起,只要符合js语法即可,他会计算一段代码执行的间隔时间

posted @ 2016-03-13 12:22  点点乐淘淘  阅读(1079)  评论(0编辑  收藏  举报