我有这段代码:
/B

我觉得输出应该是20,而不是10。请帮我理解输出。我已删除var a = function(){
a.data = "10";
};
function a(){
a.data = "20";
};
a();
console.log("a data::", a.data);
,但它仍显示相同的输出。
答案 0 :(得分:1)
函数被提升到顶部,因此当您重新分配a
时,它会在声明的函数a
之后发生。
基本上这发生在您的代码中:
function a() { ... }
// other variables and functions
a = otherFunctionA;
a();