局部函数声明应放在 "return" 之前或之后

Local function declarations should be put before or after "return"

优缺点是什么? 是否针对此案例建立了共识或良好做法?
关于 linters 工具、代码约定和标准指南是怎么说的?

function before(){
  // declare variables

  function x(){
  }

  // do stuff

  return x();
}

function after(){
  // declare variables
  // do stuff

  return y();

  // ------------------------
  function y(){
  }
}

另一个例子:

var Person = function(name) {
  var person = {
    name: name,
    smile: smile,
    talk: talk
  };

  // here alongside function execution?
  function talk() {
  }

  return person;

  // or here, after return statement?
  function smile(){
  }
};

由于函数提升了范围,所以没有真正的区别,只有偏好。
return本来就在最后,为什么不放呢?

这是个人选择的问题,两者都有甜蜜的一面。

在后一种情况下,当开发人员需要在源文件的顶部快速阅读函数的调用方式而无需向下滚动并阅读有关函数实现的详细信息时,它会很有用。

在angularjs中绑定成员时遵循了接近第二种的风格。 Here 是一个 link 推荐的风格指南,关于如何 angular js 绑定成员在顶部