Argumenty funkcji

niedziela, 14 marzec 2010 10:56 Administrator
Drukuj

Funkcjom można przekazywać argumenty, czyli wartości (dane), które mogą wpływać na ich działanie lub też być przez nie przetwarzane. Listę argumentów należy umieścić w nawiasie okrągłym za nazwą funkcji i oddzielić je od siebie znakami przecinka, a zatem zastosować konstrukcję o schematycznej postaci:

funtion nazwa_funkcji(argument1, argument2, ... , argumentN)

{

  //instrukcje wnętrza funkcji

}

Napiszmy funkcję, której zadaniem będzie wyświetlenie wartości przekazanego jej argumentu, i wywołajmy ją w kodzie skryptu. Jak to zrobić, przedstawiono na listingu 2.25.

Listing 2.25. Funkcja przyjmująca argument

<script type="text/javascript">

function wyswietl(arg1)

{

  document.write(arg1);

}

 

wyswietl("Przykładowy ciąg znaków.");

document.write("<br />");

 

wyswietl(256);

document.write("<br />");

 

wyswietl(3.14);

</script>

Jest to funkcja o nazwie wyswietl, która przyjmuje jeden argument — arg1. Wewnątrz funkcji można odczytać wartość tego argumentu przez odwołanie się do jego nazwy. Tym samym instrukcja document.write(arg1) powoduje wyświetlenie tej wartości na ekranie. Warto wspomnieć, że w ten sposób można przekazać argument dowolnego typu, typ nie jest bowiem z góry określony. W dalszym kodzie skryptu funkcja wyswietl została wywołana trzykrotnie, za każdym razem z innym argumentem. W pierwszym przypadku był to ciąg znaków, w drugim — liczba całkowita, a w trzecim — liczba rzeczywista. Wszystkie one, po uruchomieniu skryptu, pojawią się w oknie przeglądarki.

Funkcja może również przyjmować wiele argumentów i wykonywać na nich operacje. Na przykład skrypt widoczny na listingu 2.26 zawiera funkcję o nazwie dodaj, która przyjmuje dwa argumenty: wart1 i wart2, a jej zadaniem jest wyświetlenie wyniku ich dodawania.

Listing 2.26. Funkcja wykonująca dodawanie argumentów

<script type="text/javascript">

function dodaj(wart1, wart2)

{

  document.write("Wynikiem dodawania wart1 + wart2 jest ");

  document.write(wart1 + wart2);

  document.write(".");

}

dodaj (11, 12);

</script>

Funkcja dodaj przyjmuje dwa argumenty o nazwach wart1 i wart2. W jej wnętrzu znajdują się instrukcje wyświetlające komunikat informujący, jaka jest suma wartości argumentów. Suma jest obliczana za pomocą zwykłego operatora dodawania. Operacja wart1 + wart2 jest wykonywana bezpośrednio w instrukcji document.write. Można by też w takim przypadku użyć zmiennej pomocniczej przechowującej wartość dodawania. Zwiększyłoby to czytelność kodu, choć w tak prostym przykładzie nie wydaje się to konieczne. Zmiennej pomocniczej można by użyć w następujący sposób:

var suma = wart1 + wart2;

document.write(suma);

Ponieważ w dalszej części kodu funkcja dodaj została wywołana z argumentami 11 i 22:

dodaj(11, 22);

po uruchomieniu skryptu na ekranie pojawi się komunikat zawierający wynik dodawania 11 + 22, czyli 33.