何时不使用本地范围功能?

时间:2017-01-27 08:13:19

标签: javascript function scope closures

最近,我一直在为开发人员进行代码审查,最后我们讨论了使用或不使用名为function的本地范围。

所以我们有以下代码:

MongooseModel.virtual('propName').set(function(inputString) {

  this.myValue = parseInput(inputString) 

  this.myValue = this.myValue || inputString.split(',').map(size=> { 
    return {size : buildSize(size)}
  })

  function parseInput(stringToParse) {
     ....body    
  }

  function buildSize(sizeToBuild) {
     ....body    
  }
}

我的主张是:

1)你不应该使用本地函数,除非我们真的需要闭包(有回调,需要返回函数等)。它只会产生每次重新创建函数的开销。

2)拥有一个只调用一次的本地函数是没有意义的,你支付开销,必须跳转到代码中的另一部分等。

他的主张:

1)代码的不同部分,它看起来更有条理。

我非常喜欢一些JS人员,你觉得怎么样? (所有功能都不长4-5行)。

0 个答案:

没有答案