Heim  >  Artikel  >  Web-Frontend  >  Einführung in die Methodenverkettung in Javascript_Javascript-Kenntnisse

Einführung in die Methodenverkettung in Javascript_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:09:181683Durchsuche

Als ich nach Möglichkeiten suchte, eine Javascript-API zu entwerfen, entdeckte ich, dass Methodenverkettung sehr leistungsfähig und interessant zu sein scheint, und das haben wir in der Vergangenheit oft gesehen. .

Javascript-Methodenverkettung

Auf Wikipedia gibt es diese Erklärung:

Code kopieren Der Code lautet wie folgt:

Methodenverkettung, auch bekannt als benannte Parameter-Idiom, ist eine gängige Syntax zum Aufrufen mehrerer Methodenaufrufe in objektorientierten Programmiersprachen. Jede Methode gibt ein Objekt zurück, sodass die Aufrufe in einer einzigen Anweisung verkettet werden können. Verkettung ist syntaktischer Zucker, der eliminiert Der Bedarf an Zwischenvariablen wird auch als Zugunglück bezeichnet, da die Anzahl der Methoden, die nacheinander in derselben Zeile stehen, zunimmt, wenn mehr Methoden miteinander verkettet werden, obwohl dazwischen häufig Zeilenumbrüche eingefügt werden Methoden.

Nehmen Sie ein Übersetzungstool und übersetzen Sie es:

Code kopieren Der Code lautet wie folgt:

Die Methodenverkettung, auch benannte Parametermethode genannt, ist eine gängige Syntax zum Aufrufen mehrerer Methoden in objektorientierten Programmiersprachen. Jede Methode gibt ein Objekt zurück, sodass Aufrufe in einer einzigen Deklaration miteinander verbunden werden können. Links sind syntaktischer Zucker, sodass keine Zwischenvariablen erforderlich sind. Die Methodenverkettung wird auch als Zugunglück bezeichnet, da die Anzahl der Methoden, die nacheinander in derselben Zeile stehen, zunimmt, wenn mehr als eine Methode gesperrt ist, selbst wenn zwischen den Methoden normalerweise Zeilenumbrüche eingefügt werden.

Methodenverkettung mit

Laut visueller Betrachtung ist jQuery wahrscheinlich die am häufigsten verwendete Methodenkette.

Code kopieren Der Code lautet wie folgt:

// Verkettung
$("#person").slideDown('slow')
.addClass('grouped')
.css('margin-left', '11px');

Wir können dies mit einer solchen Verwendung aufrufen. jQuery ist stark auf Links angewiesen. Dadurch ist es einfach, mehrere Methoden desselben Selektors aufzurufen. Dadurch wird auch der Code sauberer und verhindert, dass dieselbe Auswahl mehrmals ausgeführt wird (was die Leistung verbessert). Wenn keine Methodenkette vorhanden ist, sieht es wie folgt aus
Code kopieren Der Code lautet wie folgt:

var p = $('#person');
p.slideDown('slow');
p.addClass('grouped');
p.css('margin-left', '11px');

Es sieht dem Builder im Entwurfsmuster sehr ähnlich. Der Unterschied besteht darin, dass p hier eine Methode und keine Klasse ist.

Beispiel für eine Javascript-Methodenkette

Als wir zuvor über Javascript-Funktionen höherer Ordnung gesprochen haben, haben wir über print('Hello')('World') gesprochen, und das Ergebnis dieser Verwendung könnte so aussehen.

Code kopieren Der Code lautet wie folgt:

Funktion f(i){
Rückgabefunktion(e){
i =e;
Rückgabefunktion(e){
i =e;
Rückgabefunktion(e){
alarm(i e);
};
};
};
};
f(1)(2)(3)(4); //10

Dies ist ein Beispiel aus dem Internet, aber es war auch das letzte Mal, dass ich einen Kettenruf geschrieben habe. Sieht extrem schwach aus.
Code kopieren Der Code lautet wie folgt:

var func = (function() {
Zurück{
          hinzufügen: Funktion () {
console.log('1');
            zurück{
Ergebnis: Funktion () {
console.log('2');
                }
            }
}
}
})();

func.add().result();


Tatsächlich sollte es in jeder Funktion ein return this geben, also gibt es:
Code kopieren Der Code lautet wie folgt:

Func = (function() {
This.add = function(){
console.log('1');
         gib dies zurück;
};
This.result = function(){
console.log('2');
         gib dies zurück;
};
Geben Sie dies zurück;
});

var func = new Func();
func.add().result();


Natürlich können wir auch die letzten beiden Sätze
ersetzen
Code kopieren Der Code lautet wie folgt:

var func = new Func();
func.add().result();

Werde
Code kopieren Der Code lautet wie folgt:

new Func().add().result();

Andere

Zum Schluss noch ein kleiner Vergleich als verwirrender Ort:

Methodenverkettung vs. Prototypenverkettung

Die Prototypenkette und die Methodenkette sind in einigen Aspekten ähnlich, aber der Unterschied kann

sein

1. Die Prototypenkette erfordert den Einsatz von Prototypen
2. Die Methodenkette verwendet die Methode

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn