美文网首页
声明提升

声明提升

作者: 唐卡豆子 | 来源:发表于2018-05-29 23:07 被阅读0次

    js代码解析原则:
    首先js引擎在读取js代码时会进行两个步骤,第一个步骤是解释,第二个步骤是执行。
    所谓解释就是会先通篇扫描所有的Js代码,然后把所有声明提升到顶端,第二步是执行,执行就是操作一类的。

    1.变量声明提升

        function show(){
            console.log(x);// undefined
            var x = 10;
          }
         
          上面代码解释后:
          function show(){
            var x;// 变量提升(把变量声明提升到当前执行环境的最顶端)
            console.log(x);// 未赋值 undefined
            x = 10;
          }
    

    2.函数声明提升

         show();
          function show(){
            var x = 10;
            console.log(x);
          }
    
          上面代码解释后:
          function show(){ // 函数声明提升直接把整个函数提到执行环境的最顶端
            var x = 10;
            console.log(x);
          }
          show();
    
    

    3.函数表达式

      函数表达式 必须等到执行到它所在行时,才会从上而下开始解析函数表达式
        console.log(show);// undefined
        // show();// show is not a function
        var show = function(){
           console.log(x);// undefined
           var x = 10;
         }
    

    相关文章

      网友评论

          本文标题:声明提升

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