Читать книгу JavaScript funkcyjnie. Zrównoważone, pragmatyczne programowanie funkcyjne w JavaScript - Kyle Simpson - Страница 23
Wejście funkcji
ОглавлениеDo tej pory możemy wyciągnąć wniosek, że funkcje potrzebują wejścia. Ale popatrzmy, jak działa wejście funkcji.
Czasami słyszymy, jak ktoś określa wejście funkcji jako „argumenty”, a czasami jako „parametry”. O co w tym wszystkim chodzi??
Argumenty to wartości przekazywane do funkcji, a parametry to nazwane zmienne wewnątrz funkcji, które otrzymują te przekazane wartości. Na przykład:
function foo(x,y) {
// ..
}
var a = 3;
foo( a, a * 2 );
a i a * 2 (a właściwie wynik działania a * 2, którym jest tu 6) są argumentami wywołania foo(..). Natomiast x i y to parametry, które otrzymują wartości (odpowiednio 3 i 6).
Uwaga
W JavaScripcie nie ma wymagania, aby liczba argumentów była zgodna z liczbą parametrów. Jeśli podamy więcej argumentów, niż zadeklarowaliśmy parametrów, to wartości są przekazywane bez przeszkód. Dostęp do tych wartości może nastąpić na kilka innych sposobów, w tym przez stare dobre obiekty określane jako argumenty (arguments), o których słyszeliśmy wcześniej. Jeśli przekażemy mniej argumentów, niż zadeklarowano parametrów, to każdy dodatkowy parametr jest traktowany jako zmienna „niezdefiniowana”, co oznacza, że jest ona obecna i dostępna w zakresie działania funkcji, ale zaczyna działanie jako pusta, niedefiniowana wartość (undefined).