js 执行顺序

Posted 安蝶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 执行顺序相关的知识,希望对你有一定的参考价值。

js分为预编译期(预处理)、执行期

预编译期:对本代码块(两个script块互不影响)中的所有var声明的变量和函数进行处理,但此处处理函数的只是声明式函数(function aa(){}),初始内容就是函数体的内容(这就是“提升”),而变量也只是声明,并未初始化和赋值

aa(); //1,函数aa在预编译期会提升到最顶部
function aa(){
console.log("1");
}
预编译期,解析为:
var aa = function(){
console.log("1");
}
aa();
执行期:js是单线程,代码会按照代码块的顺序在从上向下逐行执行
var i = "xx";
编译期:
(1)声明式函数会被提取出来(function aa(){})
(2)变量的声明(var i = undefined,变量默认是undefined)
执行期:
(1)变量的赋值(i="xx")

ajax异步操作,当操作完成后,会把回调函数放到执行栈中,当前面的代码执行完后,才会执行ajax的回调函数,所以ajax的回调函数并不是在执行完异步后立马执行回调
















以上是关于js 执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

js的加载顺序

js 顺序 调用 2个函数。函数 的 执行 顺序 问题

JS执行顺序

js函数执行顺序,怎麼让一个函数执行完再执行下面的程序

钩子函数的执行顺序

js能不能通过返回值顺序执行