Przekazywanie parametru do funkcji polega na przekazywaniu jej kopi zmiennej. Skoro uczysz się już "jakiś czas" javascriptu to być może zauważyłeś, iż zmienne mają swój zasięg. Widać to na tym przykładzie:
var a = 10;
function funkcja() {
var b = 5;
}
console.log(b);
Zobacz co się stanie gdy spróbujesz wykonać ten fragment kodu. Zmienna b nie została utworzona, gdyż próbujesz uzyskać do niej dostęp poza funkcja.
Teraz coś bardziej praktycznego. Załóżmy, że chcesz stworzyć funkcję obliczająca wynik mnożenia. Będzie to wyglądać w ten sposób:
function mnozenie(a, b) {
return a*b;
}
var czynnik1 = 2;
var czynnik2 = 3;
var wynik = ????
I co teraz? W jakiś sposób funkcja musi wiedzieć, które liczby chcesz pomnożyć. Dlatego trzeba przekazać jej w postaci parametrów dwa czynniki:
var wynik = mnozenie(czynnik1, czynnik2);
teraz funkcja mnozenie może uzyskać dostęp do wartości zmiennych czynnik1 i czynnik2 pod postacią a i b. Przez to można używać jej wielokrotnie, bo przyznasz że było by to nie możliwe gdybyśmy zapisali to w ten sposób:
function mnozenie() {
return czynnik1*czynnik2;
}
Teraz programista musi pamiętać jak nazwać zmienne, aby funkcja zadziała. W dodatku musi je zainicjować w przestrzeni globalnej co nie jest dobrym rozwiązaniem. Mimo, że moje umiejętności dydaktyczne nie są za dobre, to mam nadzieję, że pomogłem. Jeżeli czegoś nie rozumiesz, możesz do mnie napisać.