在一分钟内了解 var、let 和 const 之间的区别

小夏 健康 更新 2024-02-01

1. var

作用域:var 声明的变量有一个函数作用域,如果在函数之外声明,它将有一个全局作用域。 在全局作用域中使用 var 声明的变量将追加到 window 对象。

可变提升:var 声明的变量是提升的,这意味着无论函数的哪个部分被声明,它们都会被移动到函数的顶部。

重复声明:可以使用 var 重复声明相同的变量。

分配:使用 var 声明的变量可以重新分配。

2. let

范围:let 声明的变量具有块级作用域,该作用域仅在声明它的 ** 块内有效。

可变提升:let 声明的变量也会被提升,但它们不会被初始化。 在对声明执行之前,它们无法访问,此间隔称为“时间盲区”(tdz)。

重复声明:在同一作用域中,let 不允许重新声明已存在的变量。

分配:使用 let 声明的变量可以重新赋值,但不能重复声明。

3. const

范围:与 let 一样,const 声明的变量也具有块级作用域。

可变提升:Const 同样上升到块的顶部,但在声明声明之前,它们也无法访问,存在于“瞬态死区”中。

重复语句:cONST 不允许在同一作用域内多次声明变量。

分配:const 声明的变量不能重新赋值,必须在声明时初始化,并且值在声明后固定。 但是,如果 PERSIST 变量指向对象或数组,则可以修改对象或数组的内容。

附加到 window 对象

在浏览器环境中,在全局作用域中使用 var 声明的变量将成为 window 对象的属性。 这意味着,如果你声明 var dog='bowser',实际上,您向 Window 对象添加了一个新的全局变量 Dog,您可以通过 window 使用它狗访问它,并会得到'bowser'此值。

相反,由 let 和 const 声明的变量不会添加到窗口对象中。 这有助于避免对全局命名空间的污染,并允许对变量进行更严格的控制。

相似文章

    一分钟了解氩离子抛光

    随着现代科学和工业的发展,材料部件和结构正朝着多样化和复杂化的方向发展,传统的抛光方法往往无法有效地制备特殊材料和样品,如复合材料 多孔材料等。与传统抛光方法相比,氩离子抛光具有应力和应变小 污染少 定位准确 操作简单 通用性强等特点,使其成为材料领域一种新型的通用样品制备方法。氩离子抛光是利用离子...

    一分钟内了解巴士候车亭

    一分钟内了解巴士候车亭 公交候车亭是城市公共交通的重要组成部分,为市民提供避风避雨 休息等候的场所。本文将向您介绍公交候车亭的基本概念 功能 类型和未来发展。首先,基本概念。公交候车亭是一种公共设施,通常设置在公交车站和地铁站等交通枢纽附近,为市民提供避风避雨 休息和等待的场所。公交候车亭通常设有座...

    一分钟带你了解水塔文字

    水塔书写是一种独特的艺术形式,以其简洁而有力的风格而备受关注。这种艺术形式通常是通过在巨大的水塔上使用喷漆或其他油漆来创造的。下面,我们将用一分钟带您了解在水塔中写作的魅力。注意在这里直接沟通,小时竭诚为您服务。.起源与发展。水塔书写起源于世纪初的美国。当时,一些艺术家开始尝试在大型建筑物上创作壁画...

    便秘偏方一分钟见效,一分钟告别便秘,效果惊人!

    在当今社会,便秘可能是由多种因素引起的,例如生活节奏紧张 饮食习惯不规律和压力习过高。便秘不仅会影响人们的生活质量,还会导致一些严重的问题。那么,有没有办法在不到一分钟的时间内解决便秘的问题呢?答案是肯定的,那就是用桑葚泥来预防便秘。首先,让我们来看看在一分钟内起作用的便秘方法。这种方法主要通过改变...

    一分钟全面了解水鬼打捞队

    水鬼打捞队是专门从事水下打捞工作的团队,通常由潜水员 水下作业专家和相关技术人员组成。这些团队通常受雇主委托到水下执行各种操作任务,例如水下搜索 打捞 安装 维护等。由于水下作业的危险性和复杂性,水鬼打捞队的成员需要具备高水平的技能和经验。水鬼打捞队在行业内具有重要的地位和作用。在河水中,它们可以帮...