这个变量无论如何都会被提升?

时间:2013-03-26 22:18:38

标签: javascript hoisting

即使错误块中的代码不会被执行,var foo是否会被提升到堆栈顶部?

function foo(){
    if ( false ) {
       var foo = 'bar'; //will this be hoisted even if its never executed?
    }
}

我发现它确实存在并且只是混淆了......我没想到它会被包裹在虚假状态中而被悬挂。

1 个答案:

答案 0 :(得分:5)

是;提升在代码运行之前发生,因此if语句是否出现truefalse尚不清楚。