Javascript

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();

 

这篇关于js预解析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!