如何检查执行javascript函数的时间?

How to check how much time executes javascript function?

本问题已经有最佳答案,请猛点这里访问。

我不知道该怎么做。 Javascript是单线程的,所以我不能同时运行函数和计时器。 如何检查我的函数执行多长时间?


您可以使用Date对象的getTime()方法。

1
2
3
4
5
6
7
8
9
var start = new Date().getTime();

for (var i = 0; i < 100000; ++i) {
    // work
}

var end = new Date().getTime();
var time = end - start;
console.log('Execution time: ' + time);

start是代码开始执行的时刻。 end是完成执行的时刻。 如果你在这两个时刻之间做出改变,你会得到它执行的时间。

另外,考虑到javascript中你可以将函数作为参数传递的事实,你可以这样做:

1
2
3
4
5
6
7
8
9
10
function profile(myCode) {
    var start = new Date().getTime(); //the moment when execution starts

    myCode(); //execute your code

    var end = new Date().getTime(); // the moment when execution finishes
    var time = end - start; // time it took
    console.log('Execution time: ' + time); // output the time to console
    return time; // return the time for further use
}