javascript中的setTimeout不同行为

时间:2015-05-21 03:38:00

标签: javascript

这两个代码看起来相同但行为不同。我知道javascript与事件循环一起工作,它将事件添加到队列中然后逐个执行。但在这里他们的工作方式不同

setTimeout(a,0)
alert(1)
alert(2)
function a(){
alert(0)
}

// 1 // 0 // 2

setTimeout(function(){
alert(0)
},0)
alert(1)
alert(2)

// 1 // 2 // 0

我注意到setTimeout与命名函数的工作方式不同。如果javascript优先使用名称功能,那么为什么它不会第一次发出警告

0 个答案:

没有答案