我希望能够从console.timeEnd('t')
我的 Google Chrome Javascript 控制台中获取返回的字符串。
在下面的这个例子中,我想要一个包含"t: 0.276ms"
> console.time('t'); console.timeEnd('t');
t: 0.276ms
< undefined
这是可行的吗?
我希望能够从console.timeEnd('t')
我的 Google Chrome Javascript 控制台中获取返回的字符串。
在下面的这个例子中,我想要一个包含"t: 0.276ms"
> console.time('t'); console.timeEnd('t');
t: 0.276ms
< undefined
这是可行的吗?
在 Google Chrome 23.0.1262.2 (Official Build 155904) dev 中,这似乎是不可能的。我发现能够准确计算时间的唯一方法是使用window.performance.webkitNow()
这是一个简单的例子:
var start = window.performance.now();
...
var end = window.performance.now();
var time = end - start;
在http://updates.html5rocks.com/2012/08/When-milliseconds-are-not-enough-performance-now了解更多信息
只是你可以使用
var begin=Date.now();
something here ...;
var end= Date.now();
var timeSpent=(end-begin)/1000+"secs";
这是最简单的方法,它适用于任何浏览器,而不仅仅是 chrome
小帮手做一些时间测量。timerEnd
返回以毫秒为单位的时间,该timers
对象还包含有关使用此名称的计时器的次数、所有测量时间的总和和测量平均值的信息。我觉得这很有用,因为一个操作的测量时间取决于许多因素,所以最好测量几次并查看平均值。
var timers = {};
function timer(name) {
timers[name + '_start'] = window.performance.now();
}
function timerEnd(name) {
if (!timers[name + '_start']) return undefined;
var time = window.performance.now() - timers[name + '_start'];
var amount = timers[name + '_amount'] = timers[name + '_amount'] ? timers[name + '_amount'] + 1 : 1;
var sum = timers[name + '_sum'] = timers[name + '_sum'] ? timers[name + '_sum'] + time : time;
timers[name + '_avg'] = sum / amount;
delete timers[name + '_start'];
return time;
}
console.timeEnd() 函数将时间放到控制台,并返回值以便您可以将其保存到变量
var c = console.timeEnd('a');
c/1000+'s';
或者您可以将此变量保存到窗口对象以供最新使用
window.c = console.timeEnd('b');
window.c