JavaScript——const与let关键字

const关键字
const声明的变量必须直接初始化且不允许二次赋值,如下代码:
1,必须直接初始化,下边代码报错

<script>
		const name;	
		name="tom"
		console.log(name);
</script>						

在这里插入图片描述
2,不允许二次赋值,下边代码报错

<script>	
	const name="tom";	//定义常量,不可以二次赋值。
	console.log(name);	//输出tom
	name="tim";
	console.log(name);
</script>	

在这里插入图片描述
let关键字
和var一样,let也用于声明变量,可以不用直接初始化,可以二次赋值。
例:

<script>
	let name;
	name="tom";
	console.log(name);	
	name="tim";
	console.log(name);
</script>		

在这里插入图片描述
下边看如下几个异同点:
a、全局作用域:let声明的变量不会作为全局对象window的属性,而var声明的变量则可以

<script>	
	var name="tom";
	console.log(name);
	console.log(window.name);	//tom:因为var定义的变量在window中。
	let age=22;
	console.log(age);
	console.log(window.age);
</script>		

在这里插入图片描述
b、函数作用域:和var一样,都用于声明变量,此时两者没有区别:

<script>	
	function test(){
		//定义为局部时。
		var nam="tom";
		console.log(window.nam);
		console.log(nam);
		let age=22;
		console.log(window.age);
		console.log(age);
	}
	test();
</script>

在这里插入图片描述
c、语句块作用域:let声明的变量只能用于语句块作用域内,而var声明的变量还可以在语句块作用域外使用。

<script>
	if(true){
		var name="tom";
		console.log(name);	//两个都可以得到值。
	}
	console.log(name);
</script>

在这里插入图片描述

<script>
	if(true){
		let name="tom";
		console.log(name);	//输出tom
	}
	console.log(name);		//不输出
</script>

在这里插入图片描述
d、重复声明:let不能重复声明变量,var则可以。

<script>
	let name="tom";
	console.log(name);
	let name="tom";
	console.log(name);
</script>

在这里插入图片描述

<script>
	var name="tom";
	console.log(name);
	var name="tom";
	console.log(name);	//两个都会输出tom
</script>

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值