var、let、const的区别与使用
var#
-
var在任意版本都可以使用,const、let只能在ES6及之后使用
-
使用var操作符定义的变量会成为包含它函数的局部变量,作用域在函数内部
-
在函数内部定义变量时,忽略var,直接赋值,该变量会成为全局变量
-
在全局作用域中声明变量,称为全局变量,会成为window对象的属性
-
在一条语句中需要定义多个变量时,使用逗号分隔变量
-
var声明的变量可以变量提升,就是将变量声明提到其作用域的顶部
let#
- let声明的范围是块作用域{},var声明的范围是函数作用域
- 块作用域是函数作用域的子集
- 所以适用于var的作用域限制同样适用于let
- let不允许同一块内出现冗余声明
- let声明的变量不能在作用域中被提升,不能在声明之前以任何形式引用该变量,称为暂时性死区
- 在全局作用域中声明let变量,不会成为window对象的属性
const#
- 声明变量时必须初始化变量
- 尝试修改const声明的变量会导致运行时错误
- 不允许重复声明
- 作用域为块{}
- const声明的限制只适用于它指向的变量的引用,而不在意引用内部是否发生变化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现