美文网首页
常遇的‘函数提升’-----对号入座

常遇的‘函数提升’-----对号入座

作者: 萘小蒽 | 来源:发表于2018-12-16 20:54 被阅读7次

    曾经遇到过下面这两种情况:

    console.log(global); // undefined
    var global = 'global';
    console.log(global); // global
     
    function fn () {
      console.log(a); // undefined
      var a = 'aaa';
      console.log(a); // aaa
    }
    fn();
    

    1,变量提升:

    在ES6之前,JavaScript没有块级作用域的(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域。变量提升即将变量声明提升到它所在作用域的最开始的部分。



    代码片段
    console.log(f1); // function f1() {}   
    console.log(f2); // undefined  
    function f1() {}
    var f2 = function() {}
    

    2,函数提升:

    js中创建函数有两种方式:函数声明式和函数字面量式。只有函数声明才存在函数提升!

    相关文章

      网友评论

          本文标题:常遇的‘函数提升’-----对号入座

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