Lorsque je cherche comment concevoir une API JavaScript, j'ai découvert la chaîne de méthodes, qui semble être très puissante et intéressante, et cette chose est aussi quelque chose que nous voyons souvent dans le passé. .
Chaîne de méthode JavaScript
Il y a une explication sur Wikipedia:
La copie de code est la suivante:
Le chaînage de méthode, également connu sous le nom d'idiome des paramètres nommés, est une syntaxe courante pour invoquer plusieurs appels de méthode dans les langages de programmation orientés objet. Chaque méthode renvoie un objet, permettant aux appels d'être enchaînés dans une seule instruction. Chaîne est un sucre syntaxique qui élimine le besoin de variables intermédiaires. Une chaîne de méthodes est également connue comme une épave de train en raison de l'augmentation du nombre de méthodes qui viennent les unes après les autres dans la même ligne qui se produisent que davantage de méthodes sont enchaînées, même si des ruptures de ligne sont souvent ajoutées entre les méthodes.
J'ai utilisé l'outil de traduction pour traduire:
La copie de code est la suivante:
Les chaînes de méthode, également connues sous le nom de méthode des paramètres nommés, sont une syntaxe courante pour appeler plusieurs méthodes dans les langages de programmation orientés objet. Chaque méthode renvoie un objet qui permet au téléphone d'être connecté ensemble dans une seule déclaration. Les liens sont du sucre syntaxique, éliminant le besoin de variables intermédiaires. Les chaînes de méthodes sont également appelées épaves de train car les méthodes se produisent les unes après les autres et plus d'une méthode verrouille même si les nouvelles lignes sont généralement ajoutées entre les méthodes.
Utilisation du chaînage de la méthode
On estime que celui qui utilise le plus de chaîne de méthodes devrait être jQuery.
La copie de code est la suivante:
// chaînage
$ ("# personne"). Slidedown ('Slow')
.addclass («groupé»)
.css ('margin-left', '11px');
Nous pouvons appeler cela en utilisant cette utilisation. JQuery s'appuie fortement sur les liens. Cela facilite l'appel de plusieurs méthodes le même choix. Cela rend également le code plus clair et empêche le même choix d'être exécuté plusieurs fois (améliorant les performances). Lorsqu'il n'y a pas de chaîne de méthode, cela ressemble à ce qui suit
La copie de code est la suivante:
var p = $ ('# personne');
P.Slidedown («lent»);
P.AddClass («groupé»);
p.css ('marge-left', '11px');
Il ressemble beaucoup au constructeur du modèle de conception. La différence est que P ici est une méthode, pas une classe.
Exemple de chaîne de méthode JavaScript
Lorsque nous avons déjà parlé de fonctions JavaScript à haut ordre, nous avons parlé de Print ('Hello') ('World'), et le résultat de cette utilisation peut devenir comme ça.
La copie de code est la suivante:
fonction f (i) {
Fonction de retour (e) {
i + = e;
Fonction de retour (e) {
i + = e;
Fonction de retour (e) {
alerte (i + e);
};
};
};
};
f (1) (2) (3) (4); // 10
Ceci est un exemple en ligne, mais c'était aussi la façon dont j'ai écrit un appel de chaîne la dernière fois. Ça a l'air faible.
La copie de code est la suivante:
var func = (function () {
retourner{
ajouter: fonction () {
console.log ('1');
retourner{
Résultat: fonction () {
console.log ('2');
}
}
}
}
}) ();
func.Add (). result ();
En fait, il devrait y avoir un retour dans chaque fonction, donc il y a:
La copie de code est la suivante:
Func = (function () {
this.add = function () {
console.log ('1');
retourner ceci;
};
this.result = function () {
console.log ('2');
retourner ceci;
};
retourner ceci;
});
var func = new func ();
func.Add (). result ();
Bien sûr, nous pouvons également mettre les deux dernières phrases
La copie de code est la suivante:
var func = new func ();
func.Add (). result ();
devenir
La copie de code est la suivante:
new func (). add (). result ();
autre
Enfin comme une petite comparaison d'un lieu déroutant:
Chaîne de méthode vs chaînement prototype
La chaîne prototype et la chaîne de méthodes sont similaires à certains aspects, mais la différence peut être que
1. La chaîne prototype nécessite un prototype
2. La chaîne de méthode est la méthode