Definicje funkcji JavaScript

funkcje JavaScript są definiowane za pomocą słowa kluczowegofunction.

możesz użyć deklaracji funkcji lub wyrażenia funkcji.

deklaracje funkcji

wcześniej w tym samouczku nauczyłeś się, że funkcje są deklarowane z następującą składnią:

function functionName (parameters) {
/ / 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

function mojafunkcja (a, b) {
return a * b;
}

spróbuj sam ”

ś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żna zapisać w zmiennej:

przykład

var x = function (A, b) {return a * b};

spróbuj sam „

po zapisaniu wyrażenia funkcji w zmiennej, zmienna może być używana jako funkcja:

przykład

var x = function (A, b) {return a * b};
var z = x(4, 3);

spróbuj sam ”

powyższa funkcja jest w rzeczywistości funkcją anonimową (funkcja 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 Function ()

jak widać w poprzednich przykładach, funkcje JavaScript są definiowane za pomocą słowa kluczowego function.

funkcje można również definiować za pomocą wbudowanego konstruktora funkcji JavaScript o nazwie Function().

przykład

var mojafunkcja = new Function(„a”, „b”, „return a * b”);
var x = mojafunkcja(4, 3);

spróbuj sam ”

w rzeczywistości nie musisz używać konstruktora funkcji. Powyższy przykład jest taki sam jak pisanie:

przykład

var mojafunkcja = function(a, b) {return a * b};
var x = mojafunkcja (4, 3);

spróbuj sam ”

w większości przypadków można uniknąć używania słowa kluczowego new w JavaScript.

funkcja podnoszenie

wcześniej w tym samouczku nauczyłeś się o „podnoszeniu” (podnoszenie JavaScript).

podnoszenie jest domyślnym zachowaniem JavaScript podczas przenoszenia deklaracji na górę bieżącego zakresu.

podnoszenie dotyczy deklaracji zmiennych i deklaracji funkcji.

z tego powodu funkcje JavaScript mogą być wywoływane przed ich zadeklarowaniem:

mojafunkcja(5);
funkcja mojafunkcja (y) {
return y * y;
}

funkcje zdefiniowane za pomocą wyrażenia nie są podnoszone.

funkcje samo wywołujące

wyrażenia funkcji mogą być wykonane jako „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

(function () {
var x = ” Hello!!”; / / Powołam się na siebie
})();

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

function mojafunkcja (a, b) {
return a * b;
}
var x = mojafunkcja (4, 3);

spróbuj sam „

funkcje JavaScript mogą być używane w wyrażeniach:

przykład

function mojafunkcja (a, b) {
return a * b;
}
var x = mojafunkcja(4, 3) * 2;

spróbuj sam ”

funkcje są obiektami

operator typeof w JavaScript zwraca „function” dla funkcji.

ale funkcje JavaScript można 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ływania funkcji:

przykład

funkcja mojafunkcja(a, b) {
zwraca argumenty.length;
}

spróbuj sam ”

metoda toString() zwraca funkcję jako łańcuch:

przykład

funkcja mojafunkcja(a, b) {
return a * b;
}
var txt = mojafunkcja.toString ();

spróbuj sam ”

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 pozwalają na krótką składnię zapisu wyrażeń funkcyjnych.

nie potrzebujesz słowa kluczowego function, słowa kluczowego return i nawiasów klamrowych.

przykład

// ES5
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 this.Nie są one odpowiednie do definiowania metod obiektowych.

funkcje strzałek nie są podnoszone. Muszą być zdefiniowane przed ich użyciem.

użycie const jest bezpieczniejsze niż użycie 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 pojedynczym wyrażeniem. Z tego powodu dobrym nawykiem może być zawsze ich trzymanie:

przykład

const x = (x, y) => { return x * y };

spróbuj sam ”

funkcje strzałek nie są obsługiwane w IE11 lub wcześniejszych.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

More: