Próbuję zbudować grę i zauważyłem, że dla organizacji lepiej jest umieścić niektóre funkcje w innych funkcjach, ponieważ są one używane wyłącznie w pierwotnej funkcji. Na przykład:Które z funkcji JavaScript jest lepsze?
function fn1()
{
fn2();
function fn2()
{
//Stuff happens here
}
}
fn1
jest wywoływana wiele razy, i fn1
wezwie fn2
kilkakrotnie w jego realizacji. Kiedy wywoływana jest fn1
, czy za każdym razem trzeba ponownie przetworzyć (z braku lepszego słowa) fn2
? Czy z tego powodu tracę wydajność? Czy zamiast tego powinienem wstawić fn2
po fn1
?
function fn1()
{
fn2();
}
function fn2()
{
//Stuff happens here
}
Ponieważ nie zamykasz wyrażenia funkcji w nawiasach, może chcesz wyraźnie wskazać, że wywołujesz funkcję zewnętrzną od razu. Odpowiedni materiał do czytania: http://benalman.com/news/2010/11/immediately-invoked-function-expression/. –
@FelixKling Dodałem nawias, aby uczynić to bardziej oczywistym. – Paulpro
+1 :-) Czy możesz wyjaśnić, czy pierwszy sposób OP tworzy wiele kopii fn2 –