Méthode chaînage – La chaînage de la méthode – c’est une technique qui vous permet d’exécuter une méthode après une autre sans avoir à réutiliser l’objet.
Lorsque nous avons commencé la programmation dans des objets, nous le faisons habituellement:
Définissez l’objet avec ses attributs et ses méthodes:
var Dummy = function () { this.nombre = 'dummy'; this.debug_nombre = debug_nombre; this.mostrar_nombre = mostrar_nombre; this.otro_valor = otro_valor; function debug_nombre() { console.log("Soy: " + this.nombre); } function mostrar_nombre () { alert("Soy: " + this.nombre); } function otro_valor(param) { if (param !== undefined) { console.log("Otro:" + param); } else { console.log("Otro valor"); } } }
Appelez les méthodes avec l’objet:
/*Con el código anterior tendríamos que llamar el objeto en cada ocasión que queramos ejecutar un método*/var dummy = new Dummy();dummy.debug_nombre();dummy.mostrar_nombre();dummy.otro_valor('prueba');dummy.otro_valor();
ne serait pas le code de ce type si nous pouvions l’écrire de cette façon? Les bibliothèques comme JQuery.
/*Al encadenar los métodos, los podemos llamar uno después de otro. */ dummy.debug_nombre().mostrar_nombre().otro_valor('prueba');/*En este caso, como son muchos métodos, se puede perder la legibilidad, podemos utilizar la siguiente sintaxis: */dummy.debug_nombre() .mostrar_nombre() .otro_valor('prueba') .otro_valor();/*Nota: El único ; - punto y coma - se incluye al final de la cadena.Si se utiliza antes js interpreta que es el fin de la instrucción.*/
N’oubliez pas
en JavaScript, les fonctions renvoient une valeur, si la valeur n’est pas spécifiée, elle est renvoyée non définie.
Lorsque vous utilisez – ceci – nous nous référons à l’objet avec lequel nous travaillons.
Pour chaîner les méthodes, vous devez retourner l’objet avec lequel nous travaillons.
De cette façon, nous pouvons utiliser notre chaîne de méthodes dos.
var Dummy = function () { this.nombre = 'dummy'; this.debug_nombre = debug_nombre; this.mostrar_nombre = mostrar_nombre; this.otro_valor = otro_valor; function debug_nombre() { console.log("Soy: " + this.nombre); return this; }; function mostrar_nombre () { alert("Soy: " + this.nombre); return this; }; function otro_valor(param) { if (param !== undefined) { console.log("Otro:" + param); } else { console.log("Otro valor"); } return this; } }var dummy = new Dummy();dummy.debug_nombre() .mostrar_nombre() .otro_valor('prueba') .otro_valor();