Javascript最佳实践 - 哪里是在循环中定义辅助函数的最佳位置?

dyl*_*zed 6 javascript scope

什么是更好的做法,这个:

myArray.forEach(function(item)) {

    doSomething(item);

    function doSomething(an_item) {
        console.log(an_item);   
    }

}
Run Code Online (Sandbox Code Playgroud)

或这个:

myArray.forEach(function(item)) {

    doSomething(item);

}

function doSomething(an_item) {
    console.log(an_item);   
}
Run Code Online (Sandbox Code Playgroud)

第一个示例是创建函数的多个实例,还是仅在第一次创建循环时创建它?

感谢您的任何见解!

Imr*_*han 4

myArray.forEach(function(item)) {

    doSomething(item);

}

function doSomething(an_item) {
    console.log(an_item);   
}
Run Code Online (Sandbox Code Playgroud)

这个函数是最好的,因为它只会创建一次;

myArray.forEach(function(item)) {

    doSomething(item);

    function doSomething(an_item) {
        console.log(an_item);   
    }

}
Run Code Online (Sandbox Code Playgroud)

是不好的,因为每次函数都会在循环过程中创建