《JS 函数的执行时机》

219 阅读1分钟

1.首先函数需要先申明,然后调用之后才能执行

2.当函数内涉及到的变量,需要确定调用前变量的数值,不一定是初始值,如果调用后更改变量值也不会影响到函数的返回值

3. 如果函数内部涉及到了setTimeout(()=>{},0),需要先执行for 循环,然后再执行setTimeout

4.for循环 & setTimeout 一起使用时的机制

例如

let i=0
for(i=0;i<6;i++){
    setTimeout(()=>{console.log(i)},0)
}
//打印出6个6 
//因为setTimeout()内的函数会在for循环结束之后再执行,且每次循环都会有一个setTimeOut()
//所以i=6时,循环结束,然后打印出6个6。

如果想要打印出0-5

for(let i=0;i<6;i++){
    setTimeout(()=>{console.log(i)},0)
}
//打印出0-5,因为JS在for 和let 一起用的时候每次循环会多创建一个i

打印 0-5的其它方法

let i=0;
while (i<6)
{
console.log(i)
    i++
}