事件循环
事件循环不断地检查调用堆栈,以查看是否需要运行任何函数。
当执行时,它会将找到的所有函数调用添加到调用堆栈中,并按顺序执行每个函数。
例1
var f1 = function(){
console.log("f1")
}
var f2 = function(){
console.log("f2")
}
var ff = function(){
console.log("ff")
f1()
f2()
}
ff()
上述代码运行结果
当运行此代码时,会首先调用 ff()。 在 foo() 内部,会首先调用 f1(),然后调用 f2()。
==========
例2
var f1 = function(){
console.log("f1")
}
var f2 = function(){
console.log("f2")
}
var ff = function(){
console.log("ff")
setTimeout(f1,0)
f2()
}
ff()
执行结果
setTimeout() 是设定一个指定等候时间 (单位是千分之一秒, millisecond),在代码中的每个其他函数已被执行之后。