变量或函数 提升

  1. 变量提升
    console.log(fn) //输出:undefined
    var fn = 12
    变量提升,是把变量提升提到函数上边,注意:变量提升 只提升变量的声明,不会把赋值也提升上来

    所以,正儿八经的情况是这样的...
     var fn;  // 先声明
     console.log(fn)
     fn = 12  //运行时才赋值

     


  2. 函数提升(两种方式:1. 函数表达式 2.函数声明式)

    1.函数表达式提升
    console.log(fn()) //输出:TypeError: fn is not a function
     var fn = function(){
     console.log(2)
     }
    函数表达式方式提升和普通变量提升一样,只声明不赋值

    2.函数声明式提升
    console.log(fn()) //输出:1 
    //函数声明
    function fn(){ 
    console.log(1) 
    }
    函数声明方式提升,会提升到作用域最前边,并且将声明内容一起提升到最上边
     
    总结:
      1. 所有的声明都会提升到作用域的最顶上去
      2. 同一个变量只会声明一次,其他的会被忽略掉或者覆盖掉
          3.var关键字只声明;function关键字声明+定义,并且函数声明和函数定义的部分一起被提升


posted @   无处安放的code  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示