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

文章目录

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

发现宝藏

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

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

变量提升的定义

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

变量提升的类型

  1. 变量声明提升:
    • 使用 var 关键字声明的变量会在代码执行前被提升到其作用域的顶部,但不会赋值,默认值为 undefined。
    • let 和 const 声明的变量不存在变量提升,它们在声明之前不可访问,这被称为暂时性死区。
  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()。

注意事项

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

相关内容

热门资讯

每日必看!江岸多玩到底能开挂吗... 每日必看!江岸多玩到底能开挂吗(辅助挂),江岸多玩原来真的有辅助挂讲义1、江岸多玩脚本辅助下载、江岸...
玩家交流!颖河竞技怎么开挂(外... 玩家交流!颖河竞技怎么开挂(外挂),颖河竞技好像是有外挂教材一、颖河竞技游戏安装教程牌型概率发牌机制...
最新通报!皮皮四川麻将软件下载... 最新通报!皮皮四川麻将软件下载(辅助挂),皮皮四川麻将果然有辅助挂模块1、操作简单,无需皮皮四川麻将...
一分钟揭秘!52游戏开挂脚本(... 一分钟揭秘!52游戏开挂脚本(透视挂),52游戏切实有透视挂法子52游戏脚本下载中分为三种模型:52...
一分钟快速了解!堆堆乐开挂破解... 一分钟快速了解!堆堆乐开挂破解(外挂),堆堆乐竟然真的有外挂方针1、下载好堆堆乐正确养号方法之后点击...
重大通报!汇城贵州麻将开挂脚本... 重大通报!汇城贵州麻将开挂脚本(开挂),汇城贵州麻将原来真的有开挂法门1、重大通报!汇城贵州麻将开挂...
盘点一款!七色城透视挂件(外挂... 盘点一款!七色城透视挂件(外挂),七色城切实是真的有外挂经验1、全新机制【七色城ai辅助工具激活码】...
今日头条!多多休闲透视软件下载... 今日头条!多多休闲透视软件下载(外挂),多多休闲确实是真的有外挂攻略1、首先打开多多休闲辅助器下载最...
关于!钱柜麻将真的有透视吗(辅... 关于!钱柜麻将真的有透视吗(辅助器),钱柜麻将一贯是有辅助器练习钱柜麻将能透视中分为三种模型:钱柜麻...
今日焦点!河北家乡棋牌辅助工具... 今日焦点!河北家乡棋牌辅助工具(外挂),河北家乡棋牌果然是有外挂手册小薇(辅助器软件下载)致您一封信...