function foo(a) {
if (/*some condition*/) {
// perform task 1
// perform task 3
}
else {
// perform task 2
// perform task 3
}
}
Mam funkcję, której struktura jest podobna do powyższej. Chcę abstrakcyjne zadanie 3 do funkcji, bar()
, ale chcę ograniczyć dostęp tej funkcji tylko do zakresu foo(a)
.Zdefiniuj funkcję wewnątrz innej funkcji w javascript
Aby osiągnąć to, czego chcę, czy jest to właściwe, aby przejść do następujących?
function foo(a) {
function bar() {
// perform task 3
}
if (/*some condition*/) {
// perform task 1
bar();
}
else {
// perform task 2
bar();
}
}
Jeśli powyższe jest prawidłowe, czy bar()
się na nowo za każdym razem foo(a)
jest wywoływana? (martwiąc się o marnowanie zasobów procesora).
Tak i tak ... – hkf
Sprawdź, czy warto na czas: http://jsperf.com/ Wyobrażam sobie, że to zależy od zadania3. – tomByrer
@tomByer - +1 za sugerowanie narzędzia – tamakisquare