即使错误块中的代码不会被执行,var foo
是否会被提升到堆栈顶部?
function foo(){
if ( false ) {
var foo = 'bar'; //will this be hoisted even if its never executed?
}
}
我发现它确实存在并且只是混淆了......我没想到它会被包裹在虚假状态中而被悬挂。
答案 0 :(得分:5)
是;提升在代码运行之前发生,因此if
语句是否出现true
或false
尚不清楚。