Przegląd funkcji ECMAScript
- Poprzednia strona instrukcja switch
- Następna strona Obiekt arguments
Co to jest funkcja?
Funkcja to zestaw instrukcji, które mogą być uruchamiane w dowolnym momencie.
Funkcja jest sercem ECMAScript.
Funkcja jest deklarowana w następujący sposób: kluczowe słowo function, nazwa funkcji, grupa parametrów oraz kod do wykonania w nawiasach.
Podstawowa składnia funkcji wygląda tak:
function functionName(arg0, arg1, ... argN) { statements }
Przykład:
function sayHi(sName, sMessage) { alert("Hello " + sName + sMessage); }
Jak wywołać funkcję?
Funkcja może być wywoływana poprzez jej nazwę oraz parametry w nawiasach, jeśli istnieje więcej niż jeden parametr.
Jeśli chcesz wywołać funkcję z poprzedniego przykładu, możesz użyć następującego kodu:
sayHi("David", "Nice to meet you!")
Wywołanie funkcji sayHi() wygeneruje okno ostrzeżenia. MożeszSpróbuj sam tego przykładu.
Jak funkcja zwraca wartość?
Funkcja sayHi() nie zwraca wartości, ale nie musi być specjalnie deklarowana (jak w Java z użyciem void).
Nawet jeśli funkcja rzeczywiście zwraca wartość, nie musi być ona wyraźnie deklarowana. Wystarczy użyć operatora return po wartości do zwrócenia.
function sum(iNum1, iNum2) { return iNum1 + iNum2; }
Poniższy kod przypisuje wartość zwróconą przez funkcję sum() do zmiennej:
var iResult = sum(1,1); alert(iResult); //Wyjście "2"
Innym ważnym pojęciem jest to, że, tak jak w Java, funkcja natychmiast przerywa wykonywanie kodu po wykonaniu instrukcji return. Dlatego kod po instrukcji return nie zostanie wykonany.
Przykład, w poniższym kodzie, okno alert nie zostanie wyświetlone:
function sum(iNum1, iNum2) { return iNum1 + iNum2; alert(iNum1 + iNum2); }
W jednej funkcji można mieć wiele instrukcji return, jak pokazane poniżej:
function diff(iNum1, iNum2) { if (iNum1 > iNum2) { return iNum1 - iNum2; } return iNum2 - iNum1; } }
Powyższa funkcja zwraca różnicę między dwoma liczbami. Aby to osiągnąć, należy odjąć mniejszą liczbę od większej, więc decyzję o wykonaniu którejś z instrukcji return podejmuje się za pomocą instrukcji if.
Jeśli funkcja nie zwraca wartości, można wywołać operator return bez parametrów, aby w każdej chwili wyjść z funkcji.
Przykład:
function sayHi(sMessage) { if (sMessage == "bye") { return; } alert(sMessage); }
W tym kodzie, jeśli sMessage jest równe "bye", komunikat ostrzegawczy nie zostanie wyświetlony.
Komentarz:Jeśli funkcja nie ma wyraźnie zdefiniowanego wartości zwracanej, lub wywołała instrukcję return bez parametrów, rzeczywiście zwrócona wartość to undefined.
- Poprzednia strona instrukcja switch
- Następna strona Obiekt arguments