const let 解惑
2021-07-21
1 min read
let 块级作用域的理解
for(let i=0;i<10;i++){
setTimeout(()=>{
console.log(i)
},0)
}
// 按照标准来说
for(let i=0;i<10;i++){
let i = 隐藏作用域中的i
setTimeout(()=>{
console.log(i)
},0)
}
关于let 的变量提升
其实所谓的“变量提升”不是专有名词
正常一个变量被正常加载到程序中包含 创建 初始化 赋值 三个阶段
var 变量提前的是 创建和 初始化
let 变量提前的是 创建
const 变量 提前的也是创建
程序开始运行
var 变量 赋值
let 变量 初始化 、赋值
const 变量 初始化