zdefiniuj funkcję w innej funkcji w javascript
<code>function foo(a) { if (/*some condition*/) { // perform task 1 // perform task 3 } else { // perform task 2 // perform task 3 } } </code>
Mam funkcję, której struktura jest podobna do powyższej. Chcę abstrakcjęzadanie 3 w funkcję,bar()
, ale chcę ograniczyć dostęp tej funkcji tylko do zakresufoo(a)
.
Aby osiągnąć to, czego chcę, czy należy zmienić na następujące?
<code>function foo(a) { function bar() { // perform task 3 } if (/*some condition*/) { // perform task 1 bar(); } else { // perform task 2 bar(); } } </code>
Jeśli powyższe jest poprawne, tobar()
za każdym razem przedefiniowaćfoo(a)
zostaje wezwany? (martwiąc się o marnotrawstwo zasobów procesora tutaj)