JS高级关于AO的一些感悟

it2025-04-12  22

function xxx() { console.log(i); let i = 0;//暂时性死区 //告知当前AO拥有该变量 }

在函数调用函数的时候,如果输出一个变量,如果被调用的函数没有该变量,则会输出全局变量的值,如果全局也没有则报错;

let i = 1; function xxx() { console.log(i);//un if (!i) { var i = 100; } console.log(i);//100 }

由于if不是函数,因此var可以从局部作用域出来,变成xxx的局部变量;如果if改成函数则var则会一直为自己的局部变量,不会升级为xxx的局部变量

最新回复(0)