JavaScript -Bindungsmethode

JavaScript -Bindungsmethode
In einem JavaScript -Programm, wenn Sie verwenden “Das"Schlüsselwort mit einer Methode und rufen Sie es manchmal aus einem Empfängerobjekt" auf "Das”Ist nicht an das erforderliche Objekt begrenzt und führt somit zu Fehlern. Sie können die JavaScript Bind () -Methode verwenden, um dieses Problem zu verhindern.

Der JavaScript Bind () Methode wird verwendet, um Funktionen zu binden. Mit dieser Methode können Sie ein Objekt an eine gemeinsame Funktion binden, um unterschiedliche Ergebnisse gemäß Ihren Anforderungen anzuzeigen. Sie können auch die Methode Bind () zum Ausleihen von Funktionen von einem anderen Objekt verwenden.

In diesem Artikel wird die Methode javaScript bind () und Beispiele im Zusammenhang mit dem Zusammenhang mit Funktionsleistung Und Funktionsbindung wird auch demonstriert. So lass uns anfangen!

JavaScript Bind () Methode

Die JavaScript Bind () -Methode speichert den Kontext der aktuellen Parameter und “Das”Für die zukünftige Ausführung. Es behält normalerweise den Ausführungskontext einer Funktion bei, der in einem anderen Kontext ausgeführt wird.

Im Fall von Funktionsbindung, Die Bind () -Methode erzeugt a neue Funktion mit der genauen Kopie des Körpers der Originalfunktion haben. Der Wert von "DasDas Schlüsselwort wird als erster Parameter in der Bind () -Methode übergeben und kann auch zusätzliche Argumente für die Bindung annehmen. Wohingegen, in Funktionsleistung, Die JavaScript Bind () -Methode Darlehen Die Funktion eines anderen Objekts, ohne seine Kopie zu machen.

Syntax der JavaScript Bind () -Methode

Schauen Sie sich die Syntax der JavaScript Bind () -Methode an:

Funktion.bind (thisarg, [arg1], [arg2],…);

Hier das "ThisArg" vertreten "DasSchlüsselwort und „[Arg1], [arg2],… ”Sind die zusätzlichen Argumente. Die angegebene JavaScript Bind () -Methode gibt eine neue Funktion zurück, wenn sie aufgerufen und auch festgelegt wird “Das”Zum angegebenen Wert.

Beispiel 1: Verwenden der JavaScript Bind () -Methode zur Einzelfunktionsbindung
Zunächst werden wir ein einfaches Programm erstellen, das ein "umfasst"Mitarbeiter" Objekt. Der "Mitarbeiter"Objekt hat eine"Name”Eigentum und eine“Zeige Info()" Methode:

lass Mitarbeiter =
Name: 'Jack Smith',
showInfo: function ()
Konsole.Protokoll (dies.Name);

;

Der "Das"Keyword hinzugefügt in der"Zeige Info()"Methode binden die"Name"Variable zur Funktion, die daher zugreift"Jack Smith”Da ein Mitarbeitername kein Problem ist. Dieser Prozess wird als Standardbindung in JavaScript bezeichnet:

Mitarbeiter.Zeige Info();

Die Ausführung des oben gegebenen Programms zeigt die folgende Ausgabe:

Jetzt werden wir eine neue variable Funktion erstellen. “ShowInfo2"Das bezieht sich auf das"Zeige Info()Funktion des Mitarbeiterobjekts. In diesem Fall geht die Standardbindung verloren und das Programm zeigt keine Ausgabe an:

var showInfo2 = Mitarbeiter.Zeige Info;
ShowInfo2 ();

Also, wenn der Rückruf “Mitarbeiter.Zeige Info”Wird aufgerufen, die“Name"Eigenschaft existiert nicht im globalen Objekt und ist auf" eingestellt "nicht definiert”Wie in Ausgabe gezeigt:

Sie können die JavaScript Bind () -Methode verwenden, um sicherzustellen, dass jede Bindung in Bezug auf “DasSchlüsselwort geht nicht verloren. Die Bind () -Methode legt den Kontext des angegebenen Objekts "diesen" fest:

lass Mitarbeiter =
Name: 'Jack Smith',
showInfo: function ()
Konsole.Protokoll (dies.Name);

;

Hier erstellt die JavaScript Bind () -Methode eine neue Funktion mit “DasSchlüsselwort, das sich auf den Parameter in den Klammern bezieht. Es ermöglicht uns auch, die aufzurufen “Zeige Info()”Funktion beim Übergeben der“MitarbeiterObjekt als Argument:

var showInfo2 = Mitarbeiter.Zeige Info.binden (Mitarbeiter);
ShowInfo2 ();

Die ShowInfo2 () -Methode zeigt die zugewiesene “anName" von "Mitarbeiter" Objekt:

Beispiel 2: Verwendung der JavaScript Bind () -Methode zur Bindung mehrerer Funktionen
Im folgenden Beispiel werden wir drei Objekte erstellen: “Mitarbeiter1","Mitarbeiter2", Und "Mitarbeiter3”:

Sei Mitarbeiter1 =
Name: 'Jack';
SEITETEE2 =
Name: 'max';
SETETEEE3 =
Name: 'Paul';
Funktion showInfo ()
Konsole.Protokoll (dies.Name);

Für jedes der oben gegebenen Objekt werden wir die “aufrufenZeige Info()"Methode durch Verwendung des JavaScript"binden()" Methode:

var showInfo2 = showInfo.bind (Employee1);
ShowInfo2 ();
var showInfo3 = showInfo.bind (Employee2);
ShowInfo3 ();
var showInfo4 = showInfo.bind (Employee3);
ShowInfo4 ();

Die Ausgabe zeigt die Namenseigenschaftswerte der “anMitarbeiter1","Mitarbeiter2", Und "Mitarbeiter3Objekte:

Beispiel 3: Verwenden der JavaScript Bind () -Methode zur Funktionsleistung
Mit Hilfe der JavaScript Bind () -Methode kann ein Objekt eine Funktion eines anderen hinzugefügten Objekts ausleihen. Für die Demonstration werden wir zwei Objekte erstellen “Auto" Und "Flugzeug"Haben"Name" Eigentum, "laufen()" Und "Fliege()”Methoden:

lass Car =
Name: 'Auto' ',
Ausführen: Funktion (Geschwindigkeit)
Konsole.Protokoll (dies.Name + 'bewegt sich mit' + Geschwindigkeit + 'mph.');

;
lass airplane =
Name: 'Flugzeug',
Fly: Funktion (Geschwindigkeit)
Konsole.Protokoll (dies.Name + 'fliegt mit' + Geschwindigkeit + 'MPH.');

;

Nun, wenn du das willst “Flugzeug”Objekt zu laufen, Verwenden Sie dann die JavaScript Bind () -Methode zum Erstellen einer Run () -Funktion mit der “Das"Keyword, das es auf" festlegt "Flugzeug" Objekt:

laufen = Auto.laufen.binden (Flugzeug, 20);
laufen();

Wir haben Bind () mit dem Auto angerufen.run () Methode und bestanden “Flugzeug" als "Name"Eigenschaftswert und seine Geschwindigkeit als"20”:

Die übergegebene Ausgabe bedeutet, dass wir durch die Verwendung der JavaScript Bind () -Methode das erfolgreich geliehen haben laufen() Methode aus der Auto Objekt, ohne seine Kopie zu machen.

Abschluss

Der JavaScript Bind () Die Methode speichert den Kontext der aktuellen Parameter und “Das”Für die zukünftige Ausführung. Es behält normalerweise den Ausführungskontext einer Funktion bei, der in einem anderen Kontext ausgeführt wird. Es kann für Funktionsbindungen und Funktionen verwendet werden. In dieser Beschreibung wurde die Methode javaScript bind () erläutert, und Beispiele, die sich auf die Funktionsaufnahme und Funktionsbindung beziehen, werden ebenfalls demonstriert.