如何在JavaScript console.log()中禁用跳过

时间:2017-12-04 20:07:19

标签: javascript firefox

我正在尝试测量函数在JS中执行所花费的时间。 当我尝试console.log()经过的时间时,控制台中会出现一些蓝色数字,而且有些日志已经消失。
当我计算出现的数字时,它与skipped log。

的行数相匹配

enter image description here

我确信你可以在截图的右侧部分注意到这个问题。

我希望控制台显示所有日志。

我能做些什么吗? BTW,浏览器是Firefox 58.0b8。 (开发人员版)

3 个答案:

答案 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);