Ottimizzare le Performance di jQuery: cache e concatenazione

di: Marco Solazzi     17 Gennaio 2012

jQuery Chaining: concatenare i metodi

Secondo l'architettura della libreria, tutti i metodi che non estraggono un valore restituiscono un riferimento all'oggetto jQuery su cui sono stati lanciati. In termini pratici questo significa che è possibile lanciare più metodi in sequenza (chain):

$('#menu')
.addClass('has_dropdown') 	//aggiungo una classe al menu
.css('max-height', '200px')	//modifico una proprietà CSS
.dropdown();				//applico un plugin

Questa tecnica rende più leggibile, compatto ed ordinato il codice. Lo snippet è scritto secondo una convenzione consolidata per cui ogni metodo della catena occupa una riga, ciò rafforza l'idea della sequenzialità delle azioni.

Inoltre, in questo caso non abbiamo salvato la selezione in una variabile, visto che tutti i metodi vengono lanciati sullo stesso oggetto jQuery $('#menu').

Sebbene non vi siano grandi vantaggi a livello di performance rispetto alla tecnica del caching (test jsperf), la tecnica del chaining risulta più comoda quando dobbiamo agire in sequenza su una serie di elementi senza necessità di accedervi nuovamente nelle righe successive.

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida jQuery UI

Creare siti ricchi e dinamici con jQuery UI, il progetto ufficiale...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti