程序员鸡皮
文章 分类 评论
323 4 39

站点介绍

一名PHP全栈程序员的日常......

var、let和const用于变量声明,他们之间有何区别?

abzzp 2026-04-30 413 0条评论 前端 前端

首页 / 正文
本站是作为记录一名北漂程序员编程学习以及日常的博客,欢迎添加微信BmzhbjzhB咨询交流,喜欢吃红薯或粉条的也可以私聊我......

发布于2024-07-04

在JavaScript中,var,let和const都是用于声明变量的关键字。但是他们在作用域,变量提升hoisting,以及是否允许重新赋值和重新声明方向有很多的不同。

作用域

作用域的英文全称是Scope,当用var声明的变量具有函数作用域,即在整个包含函数内部都可见。如果在函数外部使用var声明变量,该变量具有全局作用域。那么let和const:这两个声明的变量具有块级作用域block scope,即只在包含它们的代码块由花括号{}界定内部可见。

提升

提升的英文是Hoisting:,var变量提升发生在var声明的变量上,这意味着无论在函数的那个位置声明变量,变量都会被视为在函数顶部声明但不初始化,如果是提前使用,则赋值为undefined。

let和const:虽然技术上也会提升,但他们被限制在一个称为暂时性死区英文“Temploral Dead Zone,TDZ”的区域,直到实际的代码被执行并且变量被声明,在声明之前访问这些变量会导致ReferenceError。

重新赋值

var和let:使用这两个关键字声明的变量可以在后续被重新赋值。
const:声明的变量必须在声明初期时初始化,并且一旦赋值后不能被重新赋值,尝试改变const变量的值会导致运行时错误。

重新声明

var:在相同的作用域内可以多次声明同一个变量。后面的声明会覆盖前面的声明。
let和const:在相同的作用域或块级作用域内不允许重新声明已经存在的变量,尝试这样做将会导致语法错误。

感谢观看

评论(0)

文章目录

最新评论

  • 姓名测试打分

    文章不错支持一下,非常喜欢

  • 免费算命

    文章不错非常喜欢,支持一下

  • 凡梦星尘

    友链已经添加好了,欢迎回访哈

  • 生辰八字算命

    文章不错支持一下,非常喜欢

  • 免费算命

    文章不错非常喜欢,支持一下

  • 生辰八字算命

    文章不错支持一下,非常喜欢

  • 免费算命

    文章不错非常喜欢,支持一下

  • 茗辰原

    马克吐温的作品就很经典,小时候很爱看

  • 姓名测试打分

    文章不错支持一下,非常喜欢

  • 姓名测试打分

    文章不错非常喜欢,支持

日历

2026年11月

日一二三四五六
1234567
891011121314
15161718192021
22232425262728
2930     

站点公告
本站是作为记录一名北漂程序员编程学习以及日常的博客,欢迎添加微信BmzhbjzhB咨询交流,喜欢吃红薯或粉条的也可以私聊我......
点击小铃铛关闭
配色方案