Если вы пишете код, для которого важна производительность, лучше избегать внутренних функций.
ли перемещение внутренней функции за пределы этой так, чтобы она не создавалась при каждом вызове функции, было бы микрооптимизацией?
В этом конкретном случаеdoMoreStuff
функция используется только внутриdoStuff
, Должен ли я беспокоиться о наличии таких локальных функций?
function doStuff() {
var doMoreStuff = function(val) {
// do some stuff
}
// do something
for (var i = 0; i < list.length; i++) {
doMoreStuff(list[i]);
for (var j = 0; j < list[i].children.length; j++) {
doMoreStuff(list[i].children[j]);
}
}
// do some other stuff
}
Актуальным примером будет сказать:
function sendDataToServer(data) {
var callback = function(incoming) {
// handle incoming
}
ajaxCall("url", data, callback);
}