javascript - 实际调用了几个同名 JavaScript 函数中的哪一个?

标签 javascript function scope

我正在 Chrome 控制台中尝试这个测验:Quiz

我不明白为什么这段代码的答案是2

 (function f(){
          function f(){ return 1; }
          return f();
          function f(){ return 2; }
        })();

return f();这一行调用了哪个f? 函数的顺序是什么?

最佳答案

函数是有作用域的(因此同名函数内部的函数只有在内部调用时才会覆盖外部函数)和提升(因此它们出现在代码顺序中的位置无关紧要),最后一个覆盖第一个。

关于javascript - 实际调用了几个同名 JavaScript 函数中的哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6186132/

相关文章:

javascript - 如何在 Angular 中显示 $scope 中的数据?

javascript - jquery验证: apply custom method if conditionally required

javascript - Twitter-Bootstrap 进度条每 x 秒 100%

function - Haskell 函数调用中的括号

c++ - 计算数组的平均值

ruby-on-rails-3 - rails 复杂的多对多查询

javascript - 如何渲染对象数组?

javascript - DalekJS:Firefox 浏览器打开,测试不运行

jquery循环动画

function - 在 Shell 脚本中将变量作用域到函数的 POSIX 兼容方式