var bar = function foo() {
  foo = 1;
  return foo;
};
bar(); // returns function foo()

为什么会这样?我希望这会返回 1。

最佳答案

这是一个类似的问题,描述了相同的行为......

Function and variable with the same name

还有一篇描述正在发生的事情的链接文章......

http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting

关于Javascript函数返回分配给自己的全局,然后分配给其他东西,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29001080/

10-12 04:06