说我想定义一个函数“start”和一个函数“stop”,我想尽可能准确地输出两个函数之间的实时调用?经过的时间可能是几微秒。
答案 0 :(得分:1)
在每个方法的开头创建新的Date对象。使用getTime()
方法获取日期的毫秒值。从start
值中减去end
值。这是差异,以毫秒为单位。
我不知道在浏览器端javascript中获得比毫秒时间分辨率更好的一般方法。
答案 1 :(得分:1)
手册,老式的方式是:
var a = new Date();
// do stuff
var b = new Date();
console.log("stuff took:", b.getTime() - a.getTime());
如果您使用的是现代Chrome浏览器,则可以使用控制台支持:
console.time('stuff');
// do stuff
console.timeEnd('stuff');
它将为您打印时间。
答案 2 :(得分:0)
Date
对象的粒度仅为毫秒级,因此您可以做的最好。
var Host = {
start : function() {
this.time = new DateTime().getTime();
//method
},
stop : function() {
this.diff = this.time - new DateTIme().getTime();
//do stuff
}
}
答案 3 :(得分:0)
我能想到的最准确的方法是使用
setTimeout(function2, offset)
function1();
在这种情况下,设置顺序使得计时器是绝对的,因为它启动计时器是入口点
function1();
setTimeout(function2, offset)
在这种情况下,计时器的起点相对于第一个函数的完成。