JavaScript-Funktionsaufruf
Es gibt vier Arten von JavaScript-Funktion aufgerufen wird.
Jede unterschiedliche Weise , dass dieser Modus Initialisierung.
dieses Schlüsselwort
In der Regel in Javascript, bezieht sich dies auf die aktuellen Objektfunktionen ausgeführt.
Beachten Sie, dass dies ein reserviertes Schlüsselwort ist, können Sie diesen Wert nicht ändern. |
JavaScript-Funktionsaufruf
Im vorigen Abschnitt haben wir gelernt, wie man eine Funktion zu erstellen.
Der Funktionscode wird ausgeführt, nachdem die Funktion aufgerufen wird.
Als Funktionsaufruf
Beispiele
Rückkehr a * b;
}
myFunction (10, 2); // myFunction (10, 2) liefert 20
Versuchen »
Die obige Funktion gehört nicht zu einem Objekt. Doch in JavaScript, es ist immer das globale Standardobjekt.
In HTML ist der globale Standard-Objekt der HTML-Seite selbst, so dass die Funktionsteil der HTML-Seite ist.
In der Browser-Seite Objekt-Browser-Fenster (Fensterobjekte). Over-Funktion wird automatisch eine Funktion von Fensterobjekt.
myFunction () und window.myFunction () ist gleich:
Beispiele
Rückkehr a * b;
}
window.myFunction (10, 2); // window.myFunction (10, 2) liefert 20
Versuchen »
Dies ist eine häufig verwendete Methode eine JavaScript-Funktion aufruft, aber es ist nicht zum guten Programmierstil globale Variablen, Methoden oder Funktionen wahrscheinlich Namenskonflikte Fehler zu verursachen. |
globale Objekte
Wenn eine Funktion nennt sich kein Objekt ist ?, wird sich dieser Wert das globale Objekt.
Im Web-Browser ist das Browser-Fenster das globale Objekt (Fenster-Objekte).
Die Beispiele dieser Rückgabewert ist das Fenster - Objekt:
Beispiele
Rückkehr dies;
}
myFunction (); // Gibt das Fenster-Objekt
Versuchen »
Funktion als globales Objekt aufzurufen, dies wird der Wert des globalen Objekts sein. Verwenden Sie Fenster-Objekt als eine Variable wahrscheinlich ist das Programm zum Absturz bringen. |
Als Funktion des Methodenaufrufs
In JavaScript können Sie eine Funktion als Objektmethode definiert verwenden.
Im folgenden Beispiel wird ein Objekt (myObject), hat das Objekt zwei Eigenschaften (Vorname und Nachname) und ein Verfahren (fullname):
Beispiele
vorName: "John",
nachName: "Doe",
fullname: function () {
Rückkehr this.firstName + "" + this.lastName;
}
}
myObject.fullName (); // gibt "John Doe"
Versuchen »
fullname Verfahren ist eine Funktion. Funktion gehören zum Gegenstand. myObject ist der Eigentümer der Funktion.
Dieses Objekt hat einen JavaScript - Code. Wert myObject Instanz dieses Objekts.
Der folgende Test! Fullname ändern Sie diese Methode und Rückgabewert:
Beispiele
vorName: "John",
nachName: "Doe",
fullname: function () {
Rückkehr dies;
}
}
myObject.fullName (); // gibt [object Object] (Besitzer eines Objekts)
Versuchen »
Funktion als Aufruf Objektmethode, so wird dies der Wert des selbst - Objekt sein. |
Verwenden Sie die Konstruktorfunktion Anrufe
Wenn die Funktion , bevor Sie das neue Schlüsselwort aufgerufen wird, wird der Konstruktor aufgerufen.
Es sieht aus wie eine neue Funktion zu schaffen, aber in der Tat JavaScript-Funktionen sind Objekte neu erstellt:
Beispiele
Funktion myFunction (arg1, arg2) {
this.firstName = arg1;
this.lastName = arg2;
}
// Dies erzeugt ein neues Objekt
var x = new myFunction ( "John", "Doe");
x.firstName; // gibt "John"
Versuchen »
Rufen Sie den Konstruktor ein neues Objekt zu erstellen. Neues Objekt erbt die Eigenschaften und Methoden des Erstellers.
Constructor dieses Schlüsselwort hat keinen Wert. Dieser Wert zeigt eine Instanz eines Objekts (neues Objekt) in einem Funktionsaufruf zu erstellen. |
In Abhängigkeit von der Methodenaufruf-Funktion
In JavaScript-Funktionen sind Objekte. JavaScript-Funktion hat ihre Attribute und Methoden.
() aufrufen und anwenden () Funktion ist eine vordefinierte Methode. Beide Verfahren können verwendet werden, eine Funktion aufzurufen, die erste Argument zwei Methoden muss das Objekt selbst sein.
Beispiele
Rückkehr a * b;
}
myFunction.call (myObject, 10, 2); // gibt 20
Beispiele
Rückkehr a * b;
}
myArray = [10,2];
myFunction.apply (myObject, arr); // gibt 20
Beide Methoden verwenden das Objekt selbst als ersten Parameter. Der Unterschied besteht darin, dass das zweite Argument: Anwendung übergeben ein Array von Parametern ist, das heißt, eine Vielzahl von Parametern in einem Array kombiniert vergangen, und rufen Sie dann als Aufrufparameter (ab Anfang des zweiten Arguments) vorbei.
In JavaScript strikten Modus (Strict - Modus), wird der Funktionsaufruf im ersten Argument dieser Wert geworden, auch wenn der Parameter nicht ein Objekt ist.
Im Nicht-JavaScript strikten Modus (non-strict-Modus), wenn der Wert des ersten Parameters null oder nicht definiert ist, wird es stattdessen das globale Objekt verwenden.
Auf diese Weise können Sie den Wert von Rufaufbau kann () oder apply (), und als eine neue Methode eines Objekts aufrufen , die bereits vorhanden ist . |