【发布时间】:2017-05-06 02:21:42
【问题描述】:
function a(){
function b(){
}
}
在上面的javascript代码中,在提升阶段,函数b会被提升吗?或者只是 a 将被提升,因为只有函数 a 在词法上位于全局上下文中。
【问题讨论】:
-
提升总是发生在每个范围。
b被提升,但仅在函数范围内,每当调用a()时。 -
这意味着如果我们不调用
a(),b将不会被提升? -
这意味着如果您不调用
a(),则不会有b,并且您多次调用它就会有尽可能多的bs。对于b,您必须只考虑它所在的范围… { function b(){} } …(即a函数体),别无其他。
标签: javascript node.js function hoisting