Witam, mam jedno pytanie odnośnie zwracania funkcji.
function fun(echo) {
console.log(echo);
}
function echoMaker() {
return fun;
}
var bigFun = echoMaker();
console.log(bigFun);
bigFun("Is there an echo?");
Wydawało mi się, że funkcja bigFun wygląda tak:
function echoMaker() {
function fun(echo) {
console.log(echo);
}
}
Gdy wywołam funkcję bigFun
z parametrem "lalalal" to otrzymuję "lalalla", skąd w takim razie funkcja fun wie, że parametr tyczy się jej.. Trochę jestem zmieszny i byłbym wdzięczny gdyby ktoś mi to w dwóch słowach wytłumaczył.
Czy jest może tak, że w momencie wywołania wywołuje się funkcja echo maker, która zwraca funkcję fun, a referencja od tej funkcji zostaje przypisana do bigFun i dlatego parametr tam trafia?