【发布时间】:2020-05-09 13:49:48
【问题描述】:
function foo(a,b){
return a + b;
}
foo(1,2);
函数参数是否被提升?
在函数执行上下文的创建阶段,variableEnvirnoment 是否看起来像这样:
VE = {
{ 0 : undefined , 1: undefined, length: 2 },
{a : undefined, b: undefined},
outer: refToGlobalLE
}
【问题讨论】:
-
在这种情况下,“提升”是什么意思?
-
是的,在函数 foo 上下文中。
-
这并没有真正澄清任何事情。
-
这是什么意思?在这里将任何东西称为被提升是没有意义的。 函数本身会被提升,所以如果你将调用移到定义之上,它仍然可以工作。
-
最早可以引用函数参数的点是函数体的开头。所以说提升对于参数没有任何意义。
标签: javascript hoisting executioncontext