Funktion innerhalb einer anderen Funktion in Javascript definieren

<code>function foo(a) {
    if (/*some condition*/) {
        // perform task 1
        // perform task 3
    }
    else {
        // perform task 2
        // perform task 3
    }
}
</code>

Ich habe eine Funktion, deren Struktur der obigen ähnelt. Ich möchte abstrahierenAufgabe 3 in eine Funktion,bar(), aber ich möchte den Zugriff auf diese Funktion nur im Rahmen von beschränkenfoo(a).

Ist es richtig, auf Folgendes umzusteigen, um das zu erreichen, was ich will?

<code>function foo(a) {
    function bar() {
        // perform task 3
    }

    if (/*some condition*/) {
        // perform task 1
        bar();
    }
    else {
        // perform task 2
        bar();
    }
}
</code>

Wenn das oben Genannte richtig ist, ist es richtigbar() jedes Mal neu definiert werdenfoo(a) wird angerufen? (Sorgen über die Verschwendung von CPU-Ressourcen hier)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage