我试图找出setTimeout Web API是否保留对作为参数获取的回调函数的引用。例如,在此代码示例中:
function logStuff() {
console.log('log stuff dude')
}
setTimeout(logStuff, 0)
函数logStuff
将作为回调函数传入。然后会发生以下事情。 (我认为)
1:致电setTimeout()
2:将执行传递给Web API并将其从#34;堆栈"中删除。
3:然后当计时器完成时,回调队列将检查堆栈是否为空。
4:如果它为空,它会将回调函数传递回堆栈以便执行。
我想知道的是,Web API在将其推回到事件堆栈之后是否继续引用该logStuff
函数?
这是我的意思的直观表达,here