为什么事件回调不是函数会立即在javascript中运行?

时间:2016-06-17 05:13:49

标签: javascript function asynchronous callback

  1. setTimeout(console.log("test"),1000);

  2. setTimeout(function(){console.log("test");},1000);

  3. 第一个代码将立即执行,而第二个代码将在执行后等待1秒。在我看来,它们是异步函数应该在执行后的事件中触发。为什么它们的工作方式不同?最后,我的英语不太愿意,感谢你耐心地阅读!

1 个答案:

答案 0 :(得分:2)

您立即致电console.log()并将结果提供给setTimeout(无论如何都是无效的)。

但它可以写成:

setTimeout(console.log.bind(console, 'test'), 1000);