var let const 的区别

本文详细探讨了JavaScript中var、let和const的变量声明特性,包括它们在window对象上的表现、变量提升、块作用域、同名变量声明及const的不可变性,为读者提供了深入理解JavaScript变量管理的基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.var声明变量会挂载在widow上,而let和const声明的变量不会

var a = 10;
console.log(window.a);//10
let b = 11;
console.log(window.b);//undefined
const c = 12;
console.log(window.c);//undefined

2.var声明的变量存在变量提升,let和const不存在变量提升

console.log(a);//undefined
var a = 1;

console.log(b);//报错
let b = 1;

console.log(c);//报错
const c = 1;

3.let和const声明形成块作用域

if(1){
	var a = 1;
	let b = 2;
	const c = 3;
}
console.log(a);//1
console.log(b);//报错
console.log(c);//报错

4.同一作用域下let和const不能声明同名变量,var可以声明同名变量

var a = 10;
	console.log(a);//10
	var a = 100;
	console.log(a);//100

	const b = 11;
	console.log(b);//报错
	const b = 22;
	console.log(b);//报错

	let c = 33;
	console.log(c);//报错
	let c = 44;
	console.log(c);//报错

5.const一旦声明变量必须赋值,不能使用NULL站位,声明之后不能再修改,如果声明的是复合类型数据,可以修改其属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值