美文网首页
声明提升

声明提升

作者: 唐卡豆子 | 来源:发表于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;
     }

相关文章

  • 声明提升

    js代码解析原则:首先js引擎在读取js代码时会进行两个步骤,第一个步骤是解释,第二个步骤是执行。所谓解释就是会先...

  • 声明提升

    只有声明本身会被提升,而赋值或其他的运算逻辑罗留在原地.如果提升改变了代码执行的顺序,会造成非常严重的破坏.

  • 声明提升

    函数优先 函数声明和变量声明都会被提升,值得注意的是函数声明首先会被提升,然后才是变量 结果是2,不是1

  • 函数声明提升与变量声明提升

    最近在吃饭的时候看到一道关于函数声明提升的问题 很多人在看第一眼的时候会认为结果为10,我作为一个小白第一反应也是...

  • 引用类型

    变量提升和函数声明提升   函数声明提升就是把函数声明提升到函数声明所在作用域中(或者说一个函数体内)的顶端,变量...

  • JS变量声明提升和函数声明提升

    JS代码分为两个阶段:编译阶段和执行阶段; 编译阶段:会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作...

  • 详解变量声明提升和函数声明提升

    1. 变量声明提升 1.1 变量定义 可以使用var定义变量,变量如果没有赋值,那变量的初始值为undefined...

  • js声明提升

    1.声明在前还是赋值在前 直觉上告诉我们js代码执行是从上而下一行一行执行的,但实际上这种思路是不完全正确的以下代...

  • 函数声明提升

    引用

  • 声明的提升

    首先先下个结论,javascript代码在执行时表面并不是由上到下一行一行执行的。 什么是声明的提升? 1.众所周...

网友评论

      本文标题:声明提升

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