此文转载自:https://blog.csdn.net/weixin_47454648/article/details/109989727#commentBox 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一旦声明,必须初始化,不能拖到赋值。 相关文章: 2021-11-10 2021-07-23 2021-08-19 2022-02-03 2022-01-01 2022-02-27