變量對象
- 過程:創建arguments-檢查function聲明創建屬性-檢查var聲明創建屬性
- 函數聲明以及var聲明的變量對象會發生變量提升,提升到該作用域的最上方
例子(變量提升)
function test() {
console.log(a);
console.log(foo());
var a = 1;
function foo() {
return 2;
}
}
test(); // undefined 1
- 正確執行順序
function test() {
function foo() {
return 2;
}
var a;
console.log(a);
console.log(foo());
a = 1;
}
test();
浙公網安備 33010602011771號