如果函数具有setTimeout,则在console.time中的时间不同

时间:2017-06-30 12:37:37

标签: javascript debugging console

我使用console.time函数发现了一个奇怪的行为。

我有这个测试功能:

function test(){
  setTimeout(function(){ 
    $('.test').on('click', function(){
      console.log('clicktest');
    });
  }, 3);
}

其他:

console.time('test');
test();
console.timeEnd('test');

现在我的时间是setTimeout而没有:

with setTimeout:

test: 0.03515625ms

没有setTimeout:

test: 1.44287109375ms

我不确定这种行为是否正确。

我认为我需要更多时间用setTimeout执行我的测试功能。

有人能解释一下这种行为吗?

1 个答案:

答案 0 :(得分:0)

setTimeout是异步的,并且本身比jQuery的方法需要更少的执行计算时间。在使用setTimeout的情况下,jQuery的方法将在计时器停止后进行评估。

相关问题