美文网首页
JavaScript 预解析

JavaScript 预解析

作者: wn_Smile | 来源:发表于2016-11-05 21:29 被阅读17次
    概念:函数或者变量都会有一个提前解析的过程,js会把函数或者变量提前解析一下、解析到它们对应的作用域最开始的位置
    1、先找 var 、function 关键字以及参数
    2、如找到var 或者参数、会给它们赋值 undefined ; 如找到函数 function ,就会把整个函数都拿过来
    3、把找到的东西放到对应的作用域最开始的位置
    4、逐行执行代码
    (按照预定义的步骤来解析代码)
    //例子1
    <script>
      console.log(a)    // undefined
      var a = 10;
      console.log(a)   // 10 
    </script>
    
    //例子2
    <script>
    var b = 20;
    (function fn () {
      // var b = undefined; (找到变量b提到函数最前边)
         console.log(b)    // undefined
         var b = 12;
    })()  
    </script>
    
    //例子3
    <script>
    var c = 10;
    function fn1(){
        console.log(c);  //10
        c=20;
    }
    fn1();
    console.log(c)  //20
    </script>
            
    

    相关文章

      网友评论

          本文标题:JavaScript 预解析

          本文链接:https://www.haomeiwen.com/subject/oeeguttx.html