Heim > Artikel > Web-Frontend > Polyfill für Bind()
In der dynamischen Welt der JavaScript-Entwicklung ist die Sicherstellung der browserübergreifenden Kompatibilität von größter Bedeutung. Ein wesentliches Werkzeug, um dies zu erreichen, ist die bind()-Methode. Ältere Browser unterstützen dies jedoch möglicherweise nicht vollständig. Hier kommen Polyfills zur Rettung.
Ein Polyfill ist im Wesentlichen ein Codestück, das Funktionen bereitstellt, die vom älteren Browser nicht nativ unterstützt werden. In diesem Fall beschäftigen wir uns intensiv mit der Erstellung einer Polyfüllung für die bind()-Methode, um sicherzustellen, dass Ihr Code in verschiedenen Umgebungen nahtlos funktioniert.
Lassen Sie uns untersuchen, wie man diese wichtige Polyfüllung aufbaut.
Definition: Die Bind()-Methode ermöglicht einem Objekt grundsätzlich, eine Methode von einem anderen Objekt auszuleihen, ohne sie zu kopieren.
Hier finden Sie eine schrittweise Aufschlüsselung der Bind-Polyfüllung.
Ln:1, Person ist ein Objekt, das die Eigenschaft „name“ und printAge als Funktionseigenschaft hat. PrintAge druckt hier den Namen und das Alter.
Ln:8, Person2 ist einfach ein weiteres Objekt, das die Eigenschaft „name“, aber keine printAge-Funktion hat.
Ln: 22, In dieser Zeile rufen wir die myBind-Funktion (die eine Polyfüllung ist) auf und speichern das Ergebnis in einer Variablen namens „bindFunc“.
Ln 12, hier schreiben wir die Polyfüllung für unsere myBind-Methode. In dieser Funktion nehmen wir das Objekt, an das wir die myBind-Methode anhängen möchten, und andere Argumente. Da viele Argumente übergeben werden können, zielen wir grundsätzlich auf alle Argumente mit „...args“ ab.
Als nächstes prüfen wir, ob der Typ von „this“, also hier die „printAge“-Funktion, eine Funktion ist oder nicht. Wenn nicht, geben wir einen Fehler aus, andernfalls weisen wir die Funktion dem Objekt (person2) als zu „obj.fn“, das uns als Parameter in unserer myBind-Funktion übergeben wird. Da die Methode „bind“ jedoch eine Funktion zurückgibt, die separat aufgerufen wird, geben wir die Funktion auch hier mit „...args2“ als Argumenten zurück. Dies bedeutet, dass wir ihr auch zusätzliche Argumente übergeben können, die nicht vorgesehen sind durch die Polyfüllung geleitet werden.
Ln 18 übergeben wir alle Argumente an unsere printAge-Funktion. Jetzt verfügt es über alles, was erforderlich ist, und kann genau wie die Bind-Methode funktionieren.
Hinweis: Anstatt das Alter = 35 im myBind-Methodenaufruf (Ln 22) zu senden, können wir es auch als Argument an bindFunc(35) übergeben. Aus diesem Grund verwenden wir die „...args2“, um zusätzliche Parameter oder Argumente zu verarbeiten.
Wenn Ihnen diese Erklärung gefällt, lassen Sie uns auf Twitter oder LinkedIn in Kontakt treten und wenn Sie Feedback haben, lassen Sie es mich in den Kommentaren wissen. Würde wirklich helfen.
Twitter
LinkedIn
Das obige ist der detaillierte Inhalt vonPolyfill für Bind(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!