预解析 变量提升 函数提升

预解析(js)var 先声明提升 再函数声明提升

变量提升是 JavaScript 中比较“奇怪”的现象,它允许在变量声明之前即被访问,

只有var 关键字声明变量,会存在变量提升

 

总结:

  1. 变量在未声明即被访问时会报语法错误

  2. 变量在声明之前即被访问,变量的值为 undefined

  3. let 声明的变量不存在变量提升,推荐使用 let

  4. 变量提升出现在相同作用域当中

  5. 实际开发中推荐先声明再访问变量

  6. 我们不建议使用var声明变量

 

复制代码
<body>
    <script>
      // var 声明的变量可以声明提升
      // 预解析(js)var 先声明提升  再函数声明提升

      // var age;
      // function fun() {
      //   console.log(9); //9
      // }
      // console.log(age); //undefined
      // age = 10;
      // fun();

      // 函数预解析后
      console.log(age); //undefined
      var age = 10;
      fun();
      function fun() {
        console.log(9); //9
      }
    </script>
  </body>
复制代码

 

函数提升与变量提升比较类似,是指函数在声明之前即可被调用

总结:

  1. 函数提升能够使函数的声明调用更灵活

  2. 函数表达式一定要把调用写在下面

  3. 函数提升出现在相同作用域当中

  4.  
posted @   噢噢噢J  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示