函数return之后的代码会还执行吗

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

结果显示2??我以为 return f();执行后函数会结束,后面的代码会被忽略,但实际上好像没有被忽略??请帮解释一下

阅读 9.8k
3 个回答

f方法会在执行前解析,所以下面的f定义覆盖的上面的,return的实际上是下面的f

函数声明是会提前的,声明两次应该是以最后一次为准吧,就像变量赋值两次一样

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题