funkcje JavaScript są zdefiniowane za pomocą słowa kluczowegofunction
.
Możesz użyć deklaracji funkcji lub wyrażenia funkcji.
deklaracje funkcji
wcześniej w tym tutorialu nauczyłeś się, że funkcje są deklarowane w następującej składni:
//kod do wykonania
}
zadeklarowane funkcje nie są wykonywane natychmiast., Są one „zapisywane do późniejszego użycia” i będą wykonywane później, gdy zostaną wywołane (wywołane).
przykład
return a * b;
}
Try it Yourself ”
średniki są używane do oddzielania wykonywalnych instrukcji JavaScript.
ponieważ deklaracja funkcji nie jest instrukcją wykonywalną, nie jest powszechne kończenie jej średnikiem.
wyrażenia funkcyjne
funkcja JavaScript może być również zdefiniowana za pomocą wyrażenia.,
wyrażenie funkcji może być zapisane w zmiennej:
przykład
spróbuj sam „
Po zapisaniu wyrażenia funkcji w zmiennej, zmienna może być używana jako funkcja:
przykład
var z = x(4, 3);
spróbuj sam ”
powyższa funkcja jest w rzeczywistości funkcją anonimową (funkcją bez nazwy).
funkcje przechowywane w zmiennych nie potrzebują nazw funkcji. Są one zawsze wywoływane (wywoływane) przy użyciu nazwy zmiennej.,
powyższa funkcja kończy się średnikiem, ponieważ jest częścią instrukcji wykonywalnej.
Konstruktor funkcji ()
jak widać w poprzednich przykładach, funkcje JavaScript są zdefiniowane za pomocą słowa kluczowegofunction
.
funkcje mogą być również zdefiniowane za pomocą wbudowanego konstruktora funkcji JavaScript o nazwie Function()
.,
przykład
var x = mojafunction(4, 3);
Try it Yourself ”
w rzeczywistości nie musisz używać konstruktora funkcji. Powyższy przykład jest taki sam jak zapis:
przykład
var x = mojafunction(4, 3);
spróbuj sam ”
przez większość czasu możesz uniknąć używania słowa kluczowego new
w JavaScript.,
funkcja podnoszenia
wcześniej w tym samouczku nauczyłeś się o „podnoszeniu” (JavaScript Hoisting).
podnoszenie to domyślne zachowanie JavaScript polegające na przenoszeniu deklaracji na górę bieżącego zakresu.
ma zastosowanie do deklaracji zmiennych oraz do deklaracji funkcji.
z tego powodu funkcje JavaScript mogą być wywoływane przed zadeklarowaniem:
funkcja mojafunction(y) {
return y * y;
}
funkcje zdefiniowane za pomocą wyrażenia nie są podnoszone.,
funkcje samo-wywołujące
wyrażenia funkcji mogą być „samo-wywołujące”.
samo wywołujące się wyrażenie jest wywoływane (uruchamiane) automatycznie, bez wywoływania.
wyrażenia funkcyjne będą wykonywane automatycznie, jeśli po wyrażeniu nastąpi ().
nie można samodzielnie wywołać deklaracji funkcji.
musisz dodać nawiasy wokół funkcji, aby wskazać, że jest to wyrażenie funkcji:
przykład
var x = „Hello!!,”; / / Wywołam się
}) ();
spróbuj sam ”
powyższa funkcja jest w rzeczywistości anonimową funkcją samo-wywołującą (funkcja bez nazwy).,
funkcje mogą być używane jako wartości
funkcje JavaScript mogą być używane jako wartości:
przykład
return a * b;
}
var x = mojafunction(4, 3);
spróbuj sam „
funkcje JavaScript mogą być używane w wyrażeniach:
przykład
return a * b;
}
var x = mojafunction(4, 3) * 2;
spróbuj sam ”
funkcje są obiektami
operator typeof
w JavaScript zwraca „function” dla funkcji.,
Ale funkcje JavaScript najlepiej opisać jako obiekty.
funkcje JavaScript mają zarówno właściwości, jak i metody.
właściwośćarguments.length
Zwraca liczbę argumentów otrzymanych podczas wywołania funkcji:
przykład
zwraca argumenty.length;
}
Try it Yourself ”
toString()
metoda zwraca funkcję jako ciąg znaków:
przykład
return a * b;
}
var txt = mojafunction.,toString ();
Try it Yourself ”
funkcja zdefiniowana jako właściwość obiektu, jest wywoływana metodą do obiektu.
funkcja przeznaczona do tworzenia nowych obiektów, nazywana jest konstruktorem obiektów.
funkcje strzałek
funkcje strzałek umożliwiają krótką składnię zapisu wyrażeń funkcji.
nie potrzebujesz słowa kluczowegofunction
, słowa kluczowegoreturn
I nawiasów klamrowych.,
przykład
var x = function(X, y) {
return x * y;
}
// ES6
const x = (X, y) => x * y;
spróbuj sam ”
funkcje strzałek nie mają własnych
div id=”9fdc7ca159″>
.Nie nadają się do definiowania metod obiektowych.
funkcje strzałek nie są podnoszone. Muszą być zdefiniowane przed ich użyciem.
używanie const
jest bezpieczniejsze niż używanie var
, ponieważ wyrażenie funkcji jest zawsze wartością stałą.,
możesz pominąć słowo kluczowe return
I nawiasy klamrowe tylko wtedy, gdy funkcja jest pojedynczą instrukcją. Z tego powodu dobrym nawykiem może być ich zawsze trzymanie:
przykład
spróbuj sam ”
funkcje strzałek nie są obsługiwane w IE11 lub wcześniejszych.