let:
var声明具有变量提升,不管在哪声明,均视为作用域顶部声明
let声明不具备变量提升,离开作用域,变量立刻失效 let适用于局部变量,容易操控且不会导致凌乱
变量提升------->声明前使用,产生的效果不同

暂时性死区:
暂时性死区,这段区域使用typeof也会报错 typeof判断未声明变量,只会输出undefined


var可以重复声明,let不能重复声明 否则会报错 只要有let就不可以重复声明变量

var和let在循环中的区别:let只在循环内部有效;var全局有效导致后续再使用i会引起干扰,let不会

如果在循环体内设置函数方法,体外输出var会得到不想要的值
用let声明设置多少,显示多少

局部变量
在函数体内使用 var 和 let 关键字声明的变量有点类似。
它们的作用域都是 局部的:
// 使用 var
function myFunction() {
var carName = "Volvo"; // 局部作用域
}
// 使用 let
function myFunction() {
let carName = "Volvo"; // 局部作用域
}
const:
const作用:创建一个只读的常量,一旦声明不可更改
和let一样const无法提升,也存在暂时性死区
不同:const必须声明完立刻赋值,否则会报错
浙公网安备 33010602011771号