最近,我一直在为开发人员进行代码审查,最后我们讨论了使用或不使用名为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行)。