javascript - 无论如何,这个变量都会被提升吗?

标签 javascript hoisting

即使 false block 内的代码永远不会被执行,var foo 是否也会被提升到堆栈顶部?

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

我看到它是并且只是感到困惑......我没想到它会在错误的情况下被吊起。

最佳答案

是的;提升发生在代码运行之前,因此无论 if 是否声明出炉truefalse尚不清楚。

关于javascript - 无论如何,这个变量都会被提升吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15648459/

相关文章:

javascript - GraphQL 字段作为函数

javascript - AngularJS:ng-click for ng-repeat 一次获取所有数据

javascript - 物体之间的碰撞问题取​​决于一个物体的速度

javascript - 如何将 Prop (状态和功能)传递给子路由器组件

javascript - 吊装工程

javascript - 吊装函数表达式

javascript - 当 JavaScript 变量名和函数名相同时会发生什么?

javascript - Highcharts : Add xaxis dynamically doesn't consider what type I give it

javascript - 为什么我的 ajaxSuccess jQuery 事件没有在 Greasemonkey 中触发?

scala - Scala 编译器会提升正则表达式吗