我确实明白,由于词法作用域,块作用域可以访问封闭作用域变量。但我不明白它是如何工作的。前任:
function first(){
let i=10;
function second(){
let j=20;
console.log(i);
if(j==20){
console.log(i);
}
}
second();
}
第一个 console.log() 在查找变量对象中的作用域链后获取 i 的值。但是块内的 console.log() 如何访问变量 i 因为它没有创建执行上下文,因此没有范围链。