Wywołanie funkcji JavaScript
Istnieją cztery rodzaje funkcji JavaScript jest tzw.
Każdy różnych sposobów, że ten inicjalizacji trybu.
to słowo kluczowe
Ogólnie rzecz biorąc, w JavaScripcie, to odnosi się do obecnych funkcji realizowanych obiektów.
Zauważ, że to jest zarezerwowanym słów kluczowych, nie można zmienić tej wartości. |
Wywołanie funkcji JavaScript
W poprzednim rozdziale dowiedzieliśmy się, jak utworzyć funkcję.
Kod funkcji jest wykonywany po wywołaniu funkcji.
W wywołaniu funkcji
Przykłady
powrót a * b;
}
myFunction (10, 2); // myFunction (10, 2) 20 powraca
Spróbuj »
Powyższa funkcja nie należy do żadnego obiektu. Jednak w JavaScript, zawsze jest domyślnym obiektem globalnym.
W HTML, domyślnie globalnym celem jest strona HTML sama, więc funkcja ta jest częścią strony HTML.
W oknie przeglądarki obiektu przeglądanej strony (obiekty okna). Przez funkcję automatycznie staje funkcję obiektu window.
myFunction () i window.myFunction () jest taka sama:
Przykłady
powrót a * b;
}
window.myFunction (10, 2); // window.myFunction (10, 2) 20 powraca
Spróbuj »
Jest to powszechnie stosowana metoda wywołuje funkcję JavaScript, ale nie jest to dobra praktyka programowania globalne zmienne, metody i funkcje, które mogą powodować konfliktów nazw błąd. |
obiektów globalnych
Gdy funkcja wywołuje sama nie jest obiektem ?, Wartość ta stanie się obiektem globalnym.
W przeglądarce internetowej, w oknie przeglądarki jest globalny obiekt (obiekty okna).
Przykłady to wartość zwracana jest przedmiotem okno:
Funkcja jako globalnego obiektu zadzwonić, będzie to wartość globalnego obiektu. Użyj okna obiekt jako zmienna może spowodować awarię programu. |
W zależności od sposobu połączenia
W JavaScript można użyć funkcji zdefiniowanej jako metoda obiektu.
Poniższy przykład tworzy obiekt (myObject), obiekt posiada dwie właściwości (imię i nazwisko) oraz metodę (pełna):
Przykłady
Imię: "John",
lastName: "Kowalski",
fullname: function () {
powrót this.firstName + "" + this.lastName;
}
}
myObject.fullName (); // zwraca "John Doe"
Spróbuj »
Metoda fullname jest funkcją. Funkcja należą do przedmiotu. myObject jest właścicielem funkcji.
Ten obiekt ma kodu JavaScript. Wartość obiektów MyObject wystąpienie tego.
Następujący test! FullName modyfikacji tej metody i powrotu wartości:
Przykłady
Imię: "John",
lastName: "Kowalski",
fullname: function () {
wrócić w tym;
}
}
myObject.fullName (); // zwraca [object Object] (właściciel obiektu)
Spróbuj »
Funkcja jako obiekt wywołania metody, więc będzie to wartość samego obiektu. |
Za pomocą wywołania funkcji konstruktora
Jeśli funkcja zostanie wywołana przed użyciem słowa kluczowego new, konstruktor nazywa.
Wygląda na to, aby utworzyć nową funkcję, ale w rzeczywistości funkcje JavaScript są obiektami utworzony ponownie:
Przykłady
Funkcja myFunction (arg1, arg2) {
this.firstName = arg1;
this.lastName = arg2;
}
// Tworzy nowy obiekt
var x = new myFunction ( "Jan", "Kowalski");
x.firstName; // zwraca "John"
Spróbuj »
Zadzwoń do konstruktora, aby utworzyć nowy obiekt. Nowy obiekt dziedziczy właściwości i metody konstruktora.
Konstruktor to słowo kluczowe nie mają żadnej wartości. ta wartość, aby utworzyć wystąpienie obiektu (nowy obiekt) w wywołaniu funkcji. |
W zależności od funkcji połączenia Metoda
W JavaScript, funkcje są obiektami. Funkcja JavaScript ma swoje atrybuty i metody.
call () i apply () funkcja jest określoną metodą. Obie metody mogą być stosowane do wywołania funkcji, pierwszy argument dwie metody musi być taki sam obiekt.
Przykłady
powrót a * b;
}
myFunction.call (myObject, 10, 2); // zwraca 20
Przykłady
powrót a * b;
}
myArray = [10,2];
myFunction.apply (myObject, myArray); // zwraca 20
Obie metody wykorzystują ten sam obiekt jako pierwszy parametr. Różnica polega na tym, że drugi argument: stosować przekazywane jest tablicą parametrów, to jest wiele parametrów połączonych do tablicy minął, a następnie zadzwonić jako parametr wywołania przejściu (od początku drugiego argumentu).
W trybie ścisłym JavaScript (tryb ścisłe), wywołanie funkcji w pierwszym argumentem będzie ta wartość, nawet jeśli parametr nie jest obiektem.
W trybie ścisłym non-JavaScript (w trybie non-ścisłe), jeżeli wartość pierwszego parametru jest null lub undefined, będzie korzystał z obiektu globalnego zamiast.
W ten sposób można ustawić wartość przez call () i apply () i wywołanie jako nowej metody obiektu, który już istnieje. |