Javascript:通过使用A Reference Vs Direct方法调用调用方法

时间:2018-02-09 19:34:50

标签: javascript function

我有这段代码:



/B




我觉得输出应该是20,而不是10。请帮我理解输出。我已删除var a = function(){ a.data = "10"; }; function a(){ a.data = "20"; }; a(); console.log("a data::", a.data);,但它仍显示相同的输出。

1 个答案:

答案 0 :(得分:1)

函数被提升到顶部,因此当您重新分配a时,它会在声明的函数a之后发生。

基本上这发生在您的代码中:

function a() { ... }
// other variables and functions
a = otherFunctionA;
a();