其他分享
首页 > 其他分享> > js预解析

js预解析

作者:互联网

     1. 我们js引擎运行js分为两步:预解析 代码执行

      (1)预解析 js引擎会把js里面所有的var 含有function 提升到当前作用域的最前面

      (2)代码执行 按照代码书写的顺序从上往下执行

    2. 预解析分为变量预解析(变量提升)和函数预解析(函数提升)

     (1)变量提升 就是把所有的变量声明提升带当前的作用域最前面 不提升赋值操作

     (2)函数提升 就是把所有的函数声明提升带当前的作用域最前面 

案例:

        var a = 18;
        f1();
        function f1(){
            var b = 9;
            console.log(a);
            console.log(b);
            var a = '123';
        }
        //相当于执行了以下代码
       //1.先提升变量和函数
         var a;
         function f1(){
            //  3.函数内部
            var b;
            var a;
            b = 9;
            console.log(a);//undifed
            console.log(b);//9
             a = '123';
        }
        //2.赋值
        a = 18;
        f1();

 

标签:f1,console,js,提升,var,解析
来源: https://www.cnblogs.com/ysw-blog/p/16127608.html