本文主要是介绍Web前端必做笔记之一:let, var, const的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Web前端必做笔记之一:let, var, const的区别
<script>
//var
//没有块级作用域,只有函数作用域,支持变量提升
console.log(a);
var a = 10;
//这样输出会报undefined
//var声明变量时,会在上面先声明一个a但是没有赋值,这时就输出undefined
//let 这也是用来声明变量的,是ES6新出来的声明变量的方式
//它是不支持变量提升的,也是不能被重复声明的,有块级作用域,它会有临时死区(let也会提升,但是有专门的死区,拿不到数据)
console.log(a)
let a = 10;
//这样输出会报错
{
let a = 10;
console.log(a);
}
//这样就可以输出10
{
let a = 10;
}
console.log(a); //这时输出就会报错
</script>
<script>
//用var声明的变量,它就会挂在Window上
var a = 10;
console.log(window.a) //10
//而let就不一样
let a = 10;
console.log(window.a); //undefined
//const 常量
//不支持变量提升,也不支持重复声明,不能重新被声明,不能 重复被赋值,有块级作用域,也有临时死区
const a = 10;
const a = 20;
//就会报错
</script>