function getResult(){
return 1;
}
alert(getResult()); //alerts 2
function getResult(){
return 2;
}
谁能解释,这是怎么发生的?
答案 0 :(得分:0)
您最后声明的函数被视为最新函数。最新的总是先执行。您可以在声明之前调用它的原因是因为提升。
简而言之:
在执行函数之前,所有变量和函数均已注册并可用,因此可以在声明它们之前从中调用它们。
在使所有变量都可用的阶段,最新的将覆盖最早的变量。这就是为什么调用第二个函数的原因。第一个完全被覆盖。
请注意,这不适用于const和let。仅使用function
和var