用Javascript计时
如何使用javascript计算两个事件之间经过的时间?比如,到毫秒?那么,您可以使用(firefox插件)对您的功能进行基准测试。查看这篇文章:这很难做到用Javascript计时,javascript,time,Javascript,Time,如何使用javascript计算两个事件之间经过的时间?比如,到毫秒?那么,您可以使用(firefox插件)对您的功能进行基准测试。查看这篇文章:这很难做到 var start = new Date(); // Do things here var finish = new Date(); var difference = new Date(); difference.setTime(finish.getTime() - start.getTime()); alert( difference.g
var start = new Date();
// Do things here
var finish = new Date();
var difference = new Date();
difference.setTime(finish.getTime() - start.getTime());
alert( difference.getMilliseconds() );
制作一个可重用的计时器对象怎么样 用法:
// event 1
document.getElementById('elId').onclick = function () {
timer.start('myTimer1');
};
// event 2
document.getElementById('otherElement').onclick = function () {
alert(timer.stop('myTimer1')); // alerts the time difference in ms
};
实施:
var timer = (function () {
var startTimes = {}; // multiple start times will be stored here
return {
start: function (id) {
id = id || 'default'; // set id = 'default' if no valid argument passed
startTimes[id] = +new Date; // store the current time using the timer id
},
stop: function (id) {
id = id || 'default';
var diff = (+new Date - startTimes[id]); // get the difference
delete startTimes[id]; // remove the stored start time
return diff || undefined; // return the difference in milliseconds
}
};
}());
对
日期
对象执行算术运算时,它们会隐式转换为毫秒(自1970-01-01 00:00:00 UTC起),因此您只需从操作结束时创建的日期减去操作开始时创建的日期
var start = new Date();
doSomeHeavyWork();
var end = new Date();
var millisecondsElapsed = end - start;
最简单的方法
console.time("timer name")
console.timeEnd("timer name")
这将以毫秒为单位将时间输出到控制台。如果您只需要毫秒,当然,您不需要创建新日期,只需减去两次即可。另外,您可以将第4-5行缩短为:var difference=newdate(finish.getTime()-start.getTime());哦,看在拉面的份上。如果您有超过999毫秒的时间,此方法将根本不起作用。值得注意的是,Javascript计时的准确性可能非常值得怀疑,无论是异步代码(setTimeout,setInterval)还是轮询持续时间(与这里给出的答案一样)。您也可以在Safari和Chrome中使用Web Inspector(和其他WebKit浏览器)。这些工具中的结果将比手动日期轮询更可靠,提供更多信息。太棒了,这段代码完全符合要求。
console.time("timer name")
console.timeEnd("timer name")