js的 var let const 的区别

在JavaScript中,varlet 和 const 是用于声明变量的三种关键字,但它们之间在作用域、提升(hoisting)、重复声明以及重新赋值等方面存在明显的区别。

1. 作用域

  • varvar声明的变量具有函数作用域或全局作用域,取决于其声明的位置。在函数内部声明的var变量是局部变量,在函数外部声明的var变量是全局变量。
  • let 和 constletconst声明的变量具有块级作用域(block scope),即它们的作用域被限制在声明它们的块(通常是大括号{}内的代码块)中。

2. 提升(Hoisting)

  • var:使用var声明的变量会被提升(hoisting)到其所在作用域的顶部,但是初始化(赋值)不会被提升,只会将声明提升到顶部。
  • let 和 constletconst声明的变量不会被提升,这意味着在声明之前访问它们会导致一个引用错误(ReferenceError)。

3. 重复声明

  • var:可以在同一作用域内多次声明同一个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值