JS的执行顺序 一、 语法分析 浏览器将所有JS检查一遍,看有没有语法错误,这里并不会执行,没有错误则进行第二步,预编译 二、预编译 预编译的时候会创建一个AO对象(Activation Object)执行上下文函数声明整体提升,变量 声明提升。 值为undefind,, 理解:(找形参和变量声明,将形参和变量作为AO对象的属性名,值为undefined;)。 三、语句执行 异步的执行顺序 这里举例:setimeout和Promise执行属性 new Promise函数里的是属于同步的,会按进行同步处理在执行then()的回调函数最后执行setimeout