循环中的var js let_JavaScript中let和var和const的区别

5bda9eda54a3752be53e9a35d3e2668f.png

今天了解一下var、let和const

作用域不同

如果用var声明一个变量,全局均可使用,但是let所声明的变量仅可在所在的最内侧区块使用。例如:

while(1){
let param1 = 1;
var param2 = 2;
}
alert(param1); //无法访问
alert(param2); //可以访问

这一点其实也是let用法最广泛的特点,比如我们在使用一个for循环时,所声明的i只使用在循环中,即可使用let。

let具有“暂时性死区”

alert(a);
var a = 1;

以上语句会出现undefined

alert(b);
let b = 2;

以上语句执行直接会报错。这也是let的特性之一:在被定义之前,无法被访问。

let无法被重复声明

在相同的作用域内,已被let声明的变量无法被var和let声明第二次。

const声明常量

用const声明的是常量,一旦声明值不可改变,而且声明时一定要给常量一个值,也就是声明必须初始化。

但是要注意一点:用const声明的并非真正的常量,用const声明的对象和数组可以更改,但不可重新赋值。

例如:

const person = {
      name: "tom",
      age: 12
};
person.name = "jack"; 
alert(person.name); //jack
/*------------------------------------------*/
const person = {
      name: "tom",
      age: 12
};
const person = {
      name: "jack",
      age: 12
}
alert(person.name); //报错

const和let的相同点

  • 两者都是只能作用在一个所在最内侧的区块中
  • 两者不可重复声明

const和let的区别

  • const声明时必须初始化,let不用
  • const声明后无法更改值,let可以

let和const的浏览器支持环境

28e5f336ac8f25cd99759eabbd91d44a.png
各个浏览器支持 let 关键字的最低版本号

2a53457e89b8783ca3d7a09e13d06014.png
各个浏览器支持 const 关键字的最低版本号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值