var、let、const的区别与使用

var#

  • var在任意版本都可以使用,const、let只能在ES6及之后使用

  • 使用var操作符定义的变量会成为包含它函数的局部变量,作用域在函数内部

  • 在函数内部定义变量时,忽略var,直接赋值,该变量会成为全局变量

  • 在全局作用域中声明变量,称为全局变量,会成为window对象的属性

  • 在一条语句中需要定义多个变量时,使用逗号分隔变量

  • var声明的变量可以变量提升,就是将变量声明提到其作用域的顶部

let#

  • let声明的范围是块作用域{},var声明的范围是函数作用域
  • 块作用域是函数作用域的子集
  • 所以适用于var的作用域限制同样适用于let
  • let不允许同一块内出现冗余声明
  • let声明的变量不能在作用域中被提升,不能在声明之前以任何形式引用该变量,称为暂时性死区
  • 在全局作用域中声明let变量,不会成为window对象的属性

const#

  • 声明变量时必须初始化变量
  • 尝试修改const声明的变量会导致运行时错误
  • 不允许重复声明
  • 作用域为块{}
  • const声明的限制只适用于它指向的变量的引用,而不在意引用内部是否发生变化

作者:苏无及

出处:https://www.cnblogs.com/suwuji/p/16404026.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   苏无及  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示