JS的代码执行有哪些先后顺序

JavaScript026

JS的代码执行有哪些先后顺序,第1张

在执行过程中,先遇到for循环,for循环先进入线程。当i=1时,循环走到setTimeOut后,此时的for循环还没有执行完成,setTimeOut就会被放入一个地方(线程池)等待执行。此时for循环继续执行,当i=2时,for循环仍没有执行完,这时的setTimeOut仍会被放在线程池中等待执行……依次类推,直到for循环转完3遍后,for循环执行完了,此时线程空闲了,在线程池中等待执行的setTimeOut依次执行打印i,而for循环执行完成后,i变成了4,所以打印出了三个4。

你现在是先定义了函数a,然后定义了函数b,然后再去执行函数a

即使你把代码改成这样依旧能够正常运行

a()

function a() {

    b()

}

function b() {

    console.log(111)

}

因为JS运行环境会把定义的代码(变量/函数)提升到作用域的最前面

1、定义几个方法

2、依次执行函数,代码写在前面的先执行,写在后面的后执行

示例:

function f1(){//定义f1函数

}

function f2(){//定义f2函数

}

f1()//先执行f1函数

f2()//再执行f2函数