JavaScript call () – Methode

Zusammenfassung: In diesem Tutorial erfahren Sie mehr über die JavaScript call() – Methode und wie Sie sie effektiver verwenden können.

Einführung in die JavaScript call () – Methode

In JavaScript ist eine Funktion eine Instanz des Typs Function., Beispiel:

Code language: Python (python)

Der Typ Function hat eine Methode mit dem Namen call() mit der folgenden Syntax:

Code language: Python (python)

Die Methode call() ruft eine Funktion auf functionName mit einem gegebenen this Wert und Argumenten.

Das erste Argument dercall() MethodethisArg ist derthis Wert. Sie können den Wert this für ein bestimmtes Objekt festlegen.,

Die restlichen Argumente dercall() Methodearg1,arg2,… sind die Argumente der Funktion.

Wenn Sie eine Funktion aufrufen, ruft die JavaScript-Engine die call() – Methode dieses Funktionsobjekts auf.,

Angenommen, Sie haben die show() Funktion wie folgt:

Code language: Python (python)

Und rufen Sie die show() Funktion:

Code language: Python (python)

Es ist äquivalent zu rufen Sie die call() methode für das Funktionsobjekt show:

Code language: Python (python)

Standardmäßig ist der Wert this in der Funktion auf das globale Objekt festgelegt, dh window in Webbrowsern und global auf Knoten.,js:

Code language: Python (python)

Beachten Sie, dass im strikten Modus die this in der Funktion auf undefined anstelle des globalen Objekts gesetzt ist.

Siehe folgendes Beispiel:

Code language: Python (python)

Ausgabe:

Code language: Python (python)

Anstatt in diesem Beispiel die add() – Funktion direkt aufzurufen, verwenden wir die call() – Methode, um die add() Funktion. Der Wert this wird auf das globale Objekt gesetzt.,

Siehe folgenden Code:

Innerhalb der Funktion say() verweisen wir über den Wert this auf den Wert this.,“87a3e92b46″>

Methode wie folgt:

Code language: Python (python)

Es wird das folgende Ergebnis angezeigt:

Code language: Python (python)

Wenn Sie jedoch die call() Methode von say() Funktion aufrufen und die messenger Objekt als this Wert:

Code language: Python (python)

Die Ausgabe lautet:

Code language: Python (python)

In diesem Fall ist der this Wert innerhalb des say() verweist auf das Objekt messenger, nicht auf das globale Objekt.,

Mit der JavaScript call () – Methode können Konstruktoren für ein Objekt verkettet werden

Die call() – Methode kann zum Verketten von Konstruktoren für ein Objekt verwendet werden. Betrachten Sie das folgende Beispiel:

In diesem Beispiel:

  • Initialisieren Sie zunächst das Objekt Box mit zwei Eigenschaften: height und width.,
  • Zweitens rufen sie diecall() methode derBox objekt innerhalb derWidget objekt, set diethis wert zu dieWidget objekt.

Mit der JavaScript call () – Methode für die Funktionsausleihe

definiert das Folgende zwei Objekte: car und aircraft:

Die aircraft – Objekt hat die fly() – Methode.,

Der folgende Code verwendet die call() Methode, um die start() Methode der car Objekt auf die aircraft objekt:

Code language: Python (python)

Hier ist die Ausgabe:

Code language: Python (python)

Technisch gesehen hat das aircraft – Objekt die start() – Methode der car – Objekt für die aircraftausgeliehen.

Wenn ein Objekt eine Methode eines anderen Objekts verwendet, wird die Funktion borrowing aufgerufen.,

Die typischen Anwendungen der Funktionsausleihe sind die Verwendung der integrierten Methoden des Array-Typs.

Das arguments Objekt innerhalb einer Funktion ist beispielsweise ein Array-ähnliches Objekt, kein Array-Objekt. Um die slice() – Methode des Array-Objekts zu verwenden, müssen Sie die call() – Methode verwenden:

Ausgabe:

Code language: Python (python)

In diesem Beispiel haben wir eine beliebige Anzahl von Zahlen an die Funktion übergeben. Die Funktion gibt ein array von ungeraden zahlen.,

Die folgende Anweisung verwendet die Funktion call(), um die this innerhalb des slice() – Objekts auf die arguments – Objekt zu setzen und die slice() – Methode auszuführen:

Code language: Python (python)

In diesem Tutorial haben Sie etwas über die JavaScript call() – Methode und deren effektivere Verwendung erfahren.

  • War dieses tutorial hilfreich ?
  • YesNo

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.