Najnowsze tutoriale tworzenie stron internetowych
 

JavaScript Definicje funkcji


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).

Przykład

function myFunction(a, b) {
    return a * b;
}
Spróbuj sam "

Ś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:

Przykład

var x = function (a, b) {return a * b};
Spróbuj sam "

Po ekspresji funkcja jest przechowywany w zmiennej, zmienna może być stosowany jako funkcję:

Przykład

var x = function (a, b) {return a * b};
var z = x(4, 3);
Spróbuj sam "

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:

Przykład

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

var x = myFunction(4, 3);
Spróbuj sam "

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:

Przykład

(function () {
    var x = "Hello!!";      // I will invoke myself
})();
Spróbuj sam "

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:

Przykład

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

var x = myFunction(4, 3);
Spróbuj sam "

Funkcje JavaScript mogą być stosowane w wyrażeniach:

Przykład

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

var x = myFunction(4, 3) * 2;
Spróbuj sam "

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:

Przykład

function myFunction(a, b) {
    return arguments.length;
}
Spróbuj sam "

toString() metoda zwraca funkcję jako ciąg znaków:

Przykład

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

var txt = myFunction.toString();
Spróbuj sam "

Funkcja określona jako nieruchomego obiektu nazywana jest metodą obiektu.
Funkcja przeznaczona do tworzenia nowych obiektów, jest nazywany konstruktorem obiektu.