bind in JavaScript ist eine neue Methode in EcmaScript5. Beim Aufruf wird das Schlüsselwort this auf den angegebenen Wert gesetzt, bevor eine bestimmte Sequenz bereitgestellt wird von Argumenten.
Die Betriebsumgebung dieses Artikels: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Ein kurzer Vortrag über Bind in JS
Dieser Artikel stellt die Bind-Anwendung in JS im Detail vor Lernen Sie gemeinsam mit dem Editor
Wenn es um die Bind-Methode geht, denken Sie vielleicht auch an die Call-Methode und die Apply-Methode. Sie sind alle integrierte Methoden des Funktionsobjekts und ihr erster Parameter wird zum Ändern des Aufrufs verwendet Der Zeiger darauf in der Methode. Es ist zu beachten, dass bind eine neue Funktion zurückgibt, sodass diese später aufgerufen werden kann, apply und call die ursprüngliche Funktion sofort aufrufen. Heute erklären wir hauptsächlich das Verständnis und die Verwendung der Bind-Methode. Die
bind-Methode ist eine neue Methode in EcmaScript5. Diese Methode wird auf mdn wie folgt eingeführt: Die
bind()-Methode erstellt eine neue Funktion (eine sogenannte Bindungsfunktion). Der bereitgestellte Wert liefert beim Aufruf der neuen Funktion eine bestimmte Folge von Argumenten vor jeder Lieferung.
Syntax:
fun.bind(thisArg[, arg1[, arg2[, …]]])
Der Parameter thisArg bedeutet: Wenn die gebundene Funktion aufgerufen wird, dient dieser Parameter als Zeiger darauf. Dieser Parameter hat keine Auswirkung, wenn die gebundene Funktion mit dem neuen Operator aufgerufen wird.
Die Parameter arg1, arg2, ... bedeuten: Beim Aufruf der gebundenen Funktion werden diese Parameter vor den eigentlichen Parametern an die gebundene Methode übergeben.
Schauen wir uns zunächst ein Beispiel an:
this.name="jack"; var demo={ name:"rose", getName:function(){return this.name;} } console.log(demo.getName());//输出rose 这里的this指向demo var another=demo.getName; console.log(another())//输出jack 这里的this指向全局对象 //运用bind方法更改this指向 var another2=another.bind(demo); console.log(another2());//输出rose 这里this指向了demo对象了
Bind-Anwendung
Sie können Anfangsparameter für eine Funktion voreinstellen:
function a(){ return Array.prototype.slice.call(arguments);//将类数组转换成真正的数组 } var b=a.bind(this,15,20) alert(b());//弹出 15,20 var s=b(25,30); alert(s);//弹出 15,20,25,30
Die Mehrfachbindungen von js bind sind nur zum ersten Mal gültig
var getname = function(){console.log(this.name)}; var m = getname.bind({name:'q1'}).bind({name:'q2'}); m();
Die Ausgabe ist q1
【Empfohlen Lernen: Javascript-Tutorial für Fortgeschrittene】
Das obige ist der detaillierte Inhalt vonWas bedeutet binden in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!