eamexicano ×

L’encadenament de mètodes – method chaining – és una tècnica la qual permet executar un mètode després d’un altre sense necessitat de tornar a utilitzar l’objecte.

Quan vam començar a programar en objectes generalment fem això:

Definir l’objecte amb els seus atributs i mètodes: a

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"); } } }

Vam cridar els mètodes per tal: a

/*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();

No es veuria millor el codi si ho poguéssim escriure d’aquesta manera?
Sense utilitzar llibreries com 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.*/

Recordar

En estigui habilitat les funcions retornen un valor, si no s’especifica el valor es retorna undefined.
a l’utilitzar – this – estem fent referència a l’objecte amb el qual estem treballant.
Per encadenar els mètodes cal retornar l’objecte amb el qual estem treballant.

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; } }

D’aquesta manera podem utilitzar els nostres mètodes encaden ats.

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();

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *