Fra*_*ort 43 javascript google-chrome google-chrome-devtools
我希望能够从console.timeEnd('t')我的Google Chrome Javascript控制台中获取返回的字符串.
在下面的这个例子中,我想要一个包含的变量 "t: 0.276ms"
> console.time('t'); console.timeEnd('t');
t: 0.276ms
< undefined
Run Code Online (Sandbox Code Playgroud)
这是可行的吗?
Fra*_*ort 37
在Google Chrome 23.0.1262.2(官方版本155904)开发中,看起来这是不可能的.我发现能够准确计算时间的唯一方法就是使用window.performance.webkitNow()
这是一个简单的例子:
var start = window.performance.now();
...
var end = window.performance.now();
var time = end - start;
Run Code Online (Sandbox Code Playgroud)
更多信息,请访问http://updates.html5rocks.com/2012/08/When-milliseconds-are-not-enough-performance-now
nik*_*oss 13
只是你可以使用
var begin=Date.now();
something here ...;
var end= Date.now();
var timeSpent=(end-begin)/1000+"secs";
Run Code Online (Sandbox Code Playgroud)
这是最简单的方法,它适用于任何浏览器,而不仅仅是chrome
做一些时间测量的小帮手.timerEnd返回以ms为单位的时间,该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;
}
Run Code Online (Sandbox Code Playgroud)