Wywołanie funkcji w JavaScript
- Poprzednia strona Parametry funkcji JS
- Następna strona Funkcja JS Call
Kod wewnątrz funkcji JavaScript zostanie wykonany, gdy 'coś' wywoła ją.
Wywołanie funkcji JavaScript
Gdy funkcja jestDefinicjakiedy, kod wewnątrz funkcji nie zostanie wykonany.
Gdy funkcja jestWywołaniekiedy, kod wewnątrz funkcji zostanie wykonany.
Wywołanie funkcji można również nazwać 'uruchomienie funkcji' lub 'wykonanie funkcji'.
W tym kursie używamy "Wywołanie”。
Wywołanie funkcji w formie funkcji
Instancja
myFunction() i window.myFunction() to ta sama funkcja: function myFunction(a, b) { } myFunction(10, 2); // Zwróci 20
Powyższe funkcje nie należą do żadnego obiektu. Ale w JavaScript zawsze istnieje jeden domyślny globalny obiekt.
W HTML, domyślnym globalnym obiektem jest sama strona HTML, wszystkie powyższe funkcje ' należą ' do strony HTML.
W przeglądarce, ten obiekt strony to okno przeglądarki. Funkcja nad tym automatycznie staje się funkcją okna.
myFunction() 和 window.myFunction() 是同一个函数:
Instancja
myFunction() i window.myFunction() to ta sama funkcja: function myFunction(a, b) { } return a * b;
window.myFunction(10, 2); // Też zwróci 20
To powszechny sposób wywoływania funkcji, ale nie jest to dobry zwyczaj.
this globalne zmienne, metody lub funkcje mogą łatwo powodować konflikty nazw i lukę w obiekcie globalnym.
słówem kluczowym this
w JavaScript, zwane
this
obiekt, który "posiadają" bieżący kod.
wartość, w użyciu w funkcji, to obiekt, który "posiadają" tę funkcję. this
Proszę zauważyć this
wartość. Nie jest to zmienna. Jest to słowo kluczowe. Nie można zmienić
obiekt globalny
kiedy wywołuje się obiekt bez posiadacza obiektu,this
wartość staje się obiektem globalnym.
W przeglądarkach internetowych, obiektem globalnym jest obiekt przeglądarki.
Ten przykład pokazuje this
wartość zwraca ten obiekt window:
Instancja
var x = myFunction(); // x stanie się obiektem window function myFunction() { return this; }
wywołując funkcję jako funkcję globalną, może prowadzić do this
wartość staje się obiektem globalnym.
używając obiektu window, łatwo można doprowadzić do awarii programu.
wywołując funkcję jako metodę
W JavaScript, możesz zdefiniować funkcję jako metodę obiektu.
Poniższy przykład tworzy obiekt (myObject), który ma dwie właściwości (firstName i lastName) oraz metodę (fullName):
Instancja
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this.firstName + " " + this.lastName; } } myObject.fullName(); // Zwróci "Bill Gates"
fullName jest funkcją. Funkcja należy do obiektu. myObject jest posiadaczem funkcji.
zwaną this
obiekt, który "posiadają" ten kod JavaScript. W tym przykładzie,this
wartość to myObject.
Sprawdź to! Zmień metodę fullName, aby zwracać this
wartość:
Instancja
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this; } } myObject.fullName(); // Zwróci [object Object] (obiekt posiadacz)
wywołanie funkcji jako metody obiektu, spowoduje this
wartość staje się obiektem samym.
wywołanie funkcji za pomocą konstruktora
jeśli przed wywołaniem funkcji znajduje się new
jeśli przed wywołaniem funkcji znajduje się
Wygląda to jak tworzenie nowej funkcji, ale ponieważ funkcje JavaScript są obiektami, tak naprawdę tworzy nowy obiekt:
Instancja
// To jest konstruktor funkcji: function myFunction(arg1, arg2) { this.firstName = arg1; this.lastName = arg2; } // Utworzono nowy obiekt: var x = new myFunction("Bill", "Gates"); x.firstName; // zwróci "Bill"
wywołanie konstruktor tworzy nowy obiekt. Nowy obiekt będzie dziedziczył atrybuty i metody od swojego konstruktora.
wewnątrz konstruktor this
kluczowe słowo nie ma wartości.
this
wartość stanie się nowym obiektem utworzonym podczas wywołania funkcji.
- Poprzednia strona Parametry funkcji JS
- Następna strona Funkcja JS Call