三剑客var,let,const

javascript中的var,let,const是什么?

都是用来声明量的

var,let,const的区别?

var用来声明变量,存在变量提升,容易在声明变量之前调用。
let 用来声明变量,但不存在变量提升,声明变量后才可调用,不然报错
const 用来声明常量,也不存在变量的提升,声明变量后才调用,不然报错。

console.log(a);//undefined
var a=1;
//变量提升

暂时性死区

const和let都存在暂时性死区。
解决:1.不使用let和const,2.使用闭包

var a=123;
if(true){
	  let a=456;
	  console.log(a);
}

在编程中,使用let声明变量之前,变量都不可使用。这种使用就是暂时性死区简称TDZ。
只有声明变量时,才可以获取和使用该变量。

重复声明变量

var 可以允许重复声明变量。
let 和const在同一个作用域下不允许重复声明变量
var a=1;
var a=1;
console.log(a);

let b=2;
let b=2;
console.log(b)

const c=3;
const c=3;
console.log©

块级作用域

var 不存在块级作用域
let和const存在块级作用域
具体块级作用域指的是 由{},if语句和for语句中的{}也算是块级作用域。
es5中也有作用域有全局作用域,函数作用域,没有块级作用域。

修改声明的变量

var和let都可以
const声明只声明一个常量,声明后就不能改变。
const一旦声明,必须初始化,不能拖到赋值。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值