需求
如果学习前端一定时间以后,就会考虑性能方面的问题。那么问题来了,我们怎么计算出一段代码的运行时间呢?
使用console.log配合Date对象计算
比如,我们计算sort方法排序十万个随机数组成的数组需要用多长时间的话,可以这么写:
var arr = [];
for(var i=0; i<100000; i++){
arr.push(Math.random());
}
var beginTime = +new Date();
arr.sort();
var endTime = +new Date();
console.log("排序用时共计"+(endTime-beginTime)+"ms");
最后在控制台会显示:
排序用时共计552ms
下面,再介绍一种更灵活更准确的方法。
使用console.time进行时间计算
这种方法比上一种更准确,而且专门为性能产生的方法:
测试案例:
var arr = [];
for(var i=0; i<100000; i++){
arr.push(Math.random());
}
console.time("sort");
arr.sort();
console.timeEnd("sort");
控制台会打印出:
sort: 542.668701171875ms
这种方法在需要测试的开始位置写上console.time,并且括号内传一个字符串。在结束的位置使用console.timeEnd方法,并再次把字符串传入。
个人推荐第二种方式。