0
即使假塊內部的代碼不會執行,var foo
也會被提升到棧頂嗎?不管這個變量被掛起嗎?
function foo(){
if (false) {
var foo = 'bar'; //will this be hoisted even if its never executed?
}
}
我看到它是,只是困惑......我沒有想到它被捲入一個虛假的條件下被吊起來。
即使假塊內部的代碼不會執行,var foo
也會被提升到棧頂嗎?不管這個變量被掛起嗎?
function foo(){
if (false) {
var foo = 'bar'; //will this be hoisted even if its never executed?
}
}
我看到它是,只是困惑......我沒有想到它被捲入一個虛假的條件下被吊起來。
是;吊裝在代碼運行之前發生,因此if
聲明是否出現true
或false
尚不得而知。
是的,另外,foo在foo()中的if條件之前和之後都是未定義的。 – 2013-03-26 22:26:11