var a = 10;
function test(){ //hoist 声明提前
a = 100;
console.log(a); //100
var a; //坑 这里是声明,会提前,会提前到当前作用域最前面,也就是这个函数的开始处,成为一个函数内的局部变量
console.log(a); //100
}
test();
console.log(a); //10 函数内的局部变量已被释放,而且作用域到不了外面
JS面试题——声明提前
最新推荐文章于 2022-04-18 17:01:45 发布