什么是变量提升
创始人
2024-12-29 12:08:52
0

文章目录

  • 发现宝藏
  • 变量提升的定义
  • 变量提升的类型
  • 变量提升的示例
  • 函数声明提升的示例
  • 注意事项

发现宝藏

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。

变量提升(Hoisting)是 JavaScript 中一个重要的概念,它涉及到变量和函数的声明在代码执行过程中的处理方式。以下是对变量提升的详细解释:

变量提升的定义

变量提升是指在 JavaScript 代码执行前,变量和函数的声明会被移动到它们所在作用域的顶部。需要注意的是,只有声明本身会被提升,而赋值或其他运行逻辑则会留在原地。

变量提升的类型

  1. 变量声明提升
    • 使用 var 关键字声明的变量会在代码执行前被提升到其作用域的顶部,但不会赋值,默认值为 undefined
    • letconst 声明的变量不存在变量提升,它们在声明之前不可访问,这被称为暂时性死区。
  2. 函数声明提升
    • 使用 function 关键字声明的函数,其声明和定义都会被提升到作用域的顶部,可以在声明之前被调用。
    • 函数表达式(如 var fn = function() {...};)的声明不会被提升,只有变量声明会被提升。

变量提升的示例

考虑以下代码:

console.log(a); // 输出:undefined var a = 2; 

在这个例子中,虽然 var a = 2;console.log(a); 之后,但是由于变量提升,a 的声明实际上被提升到了作用域的顶部。因此,上述代码的实际执行顺序如下:

var a;       // 声明被提升 console.log(a); // 输出:undefined a = 2;       // 赋值留在原地 

函数声明提升的示例

zxx(); // 输出:'zxx is a great girl' function zxx() {   console.log('zxx is a great girl'); } 

在这个例子中,function zxx() {...} 的声明和定义都被提升到了作用域的顶部,所以可以在声明之前调用 zxx()

注意事项

  • 变量提升只发生在同一个作用域内,不同作用域的变量不会相互影响。
  • 函数声明提升的优先级高于变量声明提升。

相关内容

热门资讯

2分钟了解!樱花之盛辅助器下载... 2分钟了解!樱花之盛辅助器下载!确实是有辅助工具(真实有挂)-哔哩哔哩暗藏猫腻,小编详细说明樱花之盛...
3分钟了解!边锋小程序辅助脚本... 3分钟了解!边锋小程序辅助脚本免费!原来一直总是有辅助技巧(真实有挂)-哔哩哔哩运边锋小程序辅助脚本...
八分钟了解!赣南好友辅助!果然... 八分钟了解!赣南好友辅助!果然存在有辅助工具(有挂存在)-哔哩哔哩1)赣南好友辅助有没有挂:进一步探...
第9分钟了解!决战十三辅助辅助... 第9分钟了解!决战十三辅助辅助器!其实一直都是有辅助插件(有挂教学)-哔哩哔哩1.决战十三辅助辅助器...
1分钟了解!随意玩辅助器!切实... 1分钟了解!随意玩辅助器!切实是有辅助神器(有挂教程)-哔哩哔哩1、首先打开随意玩辅助器辅助器下载最...
五分钟了解!兴动互娱辅助工具如... 五分钟了解!兴动互娱辅助工具如何下载!都是存在有辅助插件(有挂方法)-哔哩哔哩;1、游戏颠覆性的策略...
第九分钟了解!斗棋bug辅助!... 第九分钟了解!斗棋bug辅助!其实一直都是有辅助攻略(竟然有挂)-哔哩哔哩1、全新机制【斗棋bug辅...
八分钟了解!四川游戏家园破解!... 八分钟了解!四川游戏家园破解!总是有辅助教程(新版有挂)-哔哩哔哩1、四川游戏家园破解免费辅助多个强...
第七分钟了解!樱花之盛能不能开... 第七分钟了解!樱花之盛能不能开挂!切实是有辅助技巧(有挂总结)-哔哩哔哩1、游戏颠覆性的策略玩法,独...
七分钟了解!潮汕激k传送屋辅助... 七分钟了解!潮汕激k传送屋辅助器!总是一直都是有辅助方法(的确有挂)-哔哩哔哩潮汕激k传送屋辅助器透...