回答

收藏

javaScript — 变量声明

前端知识 前端知识 509 人阅读 | 0 人回复 | 2024-07-18

本帖最后由 wangyang 于 2024-7-18 14:59 编辑

var、let、const的作用:

1.块级作用域
  • var 定义的变量没有块的概念,可以跨块访问,不能跨函数访问
  • let 定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问
  • const 定义的变量,只能在块作用域里访问

2.是否存在变量提升
  • var 命令会发生变量提升现象,即变量可以在声明之前使用,值为undefined
  • let和 const 命令不会发生变量提升

3.时性死区
  • 暂时性死区:在代码块内,使用let、const声明变量之前,该变量是不可用的

4.是否可以被重复声明
  • let、const 命令在相同作用域中, 不能重读声明

5.const
  • const声明一个只读的常量,一旦声明,常量的值不能改变
  • 声明的基本数据类型不能被修改,声明的引用数据类型可以通过修改对象属性和方法,本质上,基本数据类型的数据值保存在变量指向的那个内存地址,因此等同于常量。但是引用数据类型的数据,变量指向的内存地址保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了


分享到:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

58 积分
16 主题
+ 关注