var let const 三者的区别以及简单介绍

var a 变量只声明 而未赋值 时候 变量 === undefined

var 存在变量提升

let const 不存在变量提升,并且在当前作用域内不能再次声明;在声明之前不能使用该变量(TDZ-暂时性死区)

const声明的是常量,只有声明的基本数据类型的时候 不可改变,引用数据类型可以改变值

比如 var a=1 在其上面console.log(a)时他就是一个把变量里的var a 给提升到了最顶层,值留在原地等待执行这时工作台打印输出的就是一个undefined,将console.log(a)放在var a=1下面时,他就正常在工作台打印输出1。

console.log(a)//在这里获取工作台数据时是获取不到的,因为let的变量是没有声明提升的,反而因为在这里获取会报错
	 let a = 1  
	 console.log(a)//在这里获取工作台数据时是可以正常获取到的,js的代码运行是从上到下依次运行
	
	 let a = 2//这里的重新赋值会将上一个a=1的赋值给覆盖掉,从而在工作台上获取到新值
const a = 1 //const他是一个常量在简单数据类型中他是不可以进行更改的如果更改就会报错
	
	 a = 10 //可以在js中运行这个代码尝试一下看看简单数据类型中的常量更改后会报什么错
	
	 const obj = {name:1}//定义一个引用数据类型
	
	 obj.name = 10//更改其内部的值,不更改他常量定义的引用数据类型的框架
     console.log(obj)//在工作台中正常输出他更改过值以后的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值