Funkcje JavaScript są zdefiniowane z function hasła.
Można użyć deklarację funkcji lub wyrażenie funkcyjne.
Deklaracje funkcyjne
Wcześniej w tym kursie, to dowiedziałem się, że funkcje są deklarowane z następującą składnią:
function functionName ( parameters ) {
code to be executed
}
Deklarowane funkcje nie są realizowane natychmiast. Oni są "zapisane do późniejszego wykorzystania", a zostanie wykonana później, gdy są one wywoływane (wezwany).
Średniki służą do oddzielania wykonywalnych instrukcji JavaScript.
Ponieważ deklaracja funkcji nie jest wykonywalny oświadczenie, że nie jest powszechne, aby zakończyć je średnikiem.
Wyrażenia funkcyjne
Funkcja JavaScript może być także określona przy użyciu wyrażenia.
Wyrażenie funkcja może być przechowywany w zmiennej:
Po ekspresji funkcja jest przechowywany w zmiennej, zmienna może być stosowany jako funkcję:
Funkcja powyżej jest naprawdę anonimowy function (funkcja bez nazwy).
Funkcje zapisane w zmiennych nie trzeba nazw funkcji. Są one zawsze wywoływany (nazywa) przy użyciu nazwy zmiennej.
Powyższa funkcja kończy się średnikiem, ponieważ jest częścią wykonywalnego oświadczeniu.
Function() Konstruktor
Jak widzieliśmy w poprzednich przykładach, funkcje JavaScript są zdefiniowane z function hasła.
Funkcje mogą być definiowane za pomocą wbudowanej funkcji konstruktora JavaScript o nazwie Function() .
Przykład
var myFunction = new Function("a", "b", "return a *
b");
var x = myFunction(4, 3);
Spróbuj sam " Tak naprawdę nie trzeba użyć konstruktora funkcji. Powyższy przykład jest taki sam jak na piśmie:
Przez większość czasu, można uniknąć za pomocą new słowa kluczowego w JavaScript.
Function Hoisting
Wcześniej w tym kursie, to dowiedziałem się o "hoisting" .
Podnoszący jest domyślne zachowanie Javascript w ruchomych deklaracji na górę bieżącego zakresu.
Podnoszący dotyczy deklaracji zmiennych i deklaracji funkcji.
Z tego powodu, funkcji JavaScript można nazwać, zanim zostaną one uznane za:
myFunction(5);
function myFunction(y) {
return y * y;
}
Funkcje zdefiniowane za pomocą wyrażenia nie podniósł.
Funkcje Samojezdne Wywoływanie
Wyrażenia funkcyjne mogą być wykonane "self-Wywoływanie".
Samo-wywoływanie wyrażenie jest wywoływany (uruchomiony) automatycznie, bez wezwania.
Wyrażenia funkcyjne uruchomi się automatycznie, jeśli wyrażenie jest następnie () .
Nie można powoływać się na siebie deklarację funkcji.
Trzeba dodać nawiasy wokół funkcji, aby wskazać, że jest to wyrażenie funkcyjne:
Funkcja powyżej jest naprawdę anonimowy własnym wywoływanie funkcji (funkcja bez nazwy).
Funkcje mogą być używane jako wartości
Funkcje JavaScript mogą być wykorzystywane jako wartości:
Funkcje JavaScript mogą być stosowane w wyrażeniach:
Funkcje są obiektami
typeof Operator w JavaScripcie zwraca "function" dla funkcji.
Ale funkcje JavaScript mogą być najlepiej opisany jako obiekty.
Funkcji JavaScript mają zarówno właściwości i metody.
Nieruchomość arguments.length zwraca liczbę argumentów otrzymał, gdy funkcja została wywołana:
toString() metoda zwraca funkcję jako ciąg znaków:
Funkcja określona jako nieruchomego obiektu nazywana jest metodą obiektu.
Funkcja przeznaczona do tworzenia nowych obiektów, jest nazywany konstruktorem obiektu.