zoukankan      html  css  js  c++  java
  • 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的回调函数并不是在执行完异步后立马执行回调

  • 相关阅读:
    An analysis of a simple Java basic interview question: short s1=1; s1 = s1 +1 will report an error?
    <bits/stdc++.h> in C++
    linux 下配置可视化git 冲突合并工具kdiff3
    加分
    对老师的意见和课程总结
    12月19日
    12月18日
    12月17日
    12月16日
    12月15日
  • 原文地址:https://www.cnblogs.com/cyj7/p/10309404.html
Copyright © 2011-2022 走看看