为什么javascript函数中有一个var内部函数

为什么javascript函数中有一个var内部函数,javascript,Javascript,我正在维护一些javascript代码,这些代码是由一个被认为是javascript大师的家伙实现的,他经常使用以下结构: someComplicatedFoo : function(arg){ var transformedArg = this.operationOnArg(arg) //some logic here var someBarFunction = function(internalArg){ //some complex logic

我正在维护一些javascript代码,这些代码是由一个被认为是javascript大师的家伙实现的,他经常使用以下结构:

someComplicatedFoo : function(arg){
    var transformedArg = this.operationOnArg(arg)
    //some logic here

    var someBarFunction = function(internalArg){
          //some complex logic with internalArg
          return somethingNew
    }

    //other logic
    var somethingNew = someBarFunction(transformedArg)
    //yet more logic that operates on somethingNew

    return somethingNew

}
内部功能建设的重点是什么?为什么不在需要调用逻辑的地方直接内联逻辑呢?我理解模块化,但我倾向于认为,只要将逻辑内联就更具可读性

我不是问var这个术语的用法。我很确定我知道到底发生了什么,我只是不明白为什么你不内联逻辑或分解成多个离散函数

我现在主要是一名java开发人员,在需要的时候使用javascript


我特别寻找性能优势或功能增益,因此我知道是否在我自己的代码中使用这种做法

如果你想重用函数内部的某个逻辑位,而不是使该逻辑在函数外部可用……可能只使用了一次,但如果在将来的更新中再次需要它呢?@NiettheDarkAbsol,如果将来根本不需要它呢?或者如果需要,但不是完全那样?为什么今天要浪费能源去做某一天你可能需要的事情??雅格尼@InquisitiveDiot:您在java中的类中从来没有私有方法吗?有点像这样。即使只使用一次,它也可以帮助将代码分解为具有不同函数的不同部分。例如,如果在调试中不需要调用
someBarFunction
,则只需注释掉调用它的行,而不是注释掉一个巨大的块如果这不是ES6代码(具有块作用域),则它使用函数作用域,因此,他可能选择使用内部函数来防止内部变量干扰外部函数中的变量。