我正在尝试测量函数在JS中执行所花费的时间。
当我尝试console.log()
经过的时间时,控制台中会出现一些蓝色数字,而且有些日志已经消失。
当我计算出现的数字时,它与skipped
log。
我确信你可以在截图的右侧部分注意到这个问题。
我希望控制台显示所有日志。
我能做些什么吗? BTW,浏览器是Firefox 58.0b8。 (开发人员版)
答案 0 :(得分:0)
控制台中有基准测试方法,具有很高的准确性。您可以使用console.time(key)
和console.timeEnd(key)
。
https://developer.mozilla.org/en-US/docs/Web/API/Console/time
// kick off
console.time('asdf')
// later
console.timeEnd('asdf')
// VM18707:1 asdf: 2077.59716796875ms
即使立即调用timeEnd也会产生不同的结果,因此使用更复杂的脚本不可能有多个连续的相同结果。
答案 1 :(得分:-1)
为什么不在测试结束时将数据的时间写入数组呢?
而不是执行console.log。答案 2 :(得分:-1)
不确定,如果这符合您的目的,但这是一种解决方法,而不是任何浏览器提供的解决方案。
您可以为function
添加包装console.log
,如下所示
function logToConsole(number) {
var randomNumber = Math.floor(Math.random() * 6) + 1;
console.log(number.toString() + Array(randomNumber).join(" "));
}
在这里,每次调用console.log
时,都会在1到6之间填充一个随机数。(如果您觉得有可能出错,也可以增加范围)
下面的完整示例。
function logToConsole(number) {
var randomNumber = Math.floor(Math.random() * 6) + 1;
console.log(number.toString() + Array(randomNumber).join(" "));
}
logToConsole(0.1111);
logToConsole(0.1111);
logToConsole(0.1111);
logToConsole(0.1111);
logToConsole(0.1111);