Uno dei componenti più utili ed interessanti di MooTools è sicuramente il file Hash.js (http://docs.mootools.net/Plugins/Hash.js). Purtroppo spesso le sue funzionalità vengono sottovalutate o prese sotto gamba. Per sottolineare questo fatto, nella prossima release di MooTools la classe Hash verrà convertita da semplice plug-in in una classe nativa, proprio come Array, String, Element e cosi via.
Per questi importanti motivi ho deciso di dedicare un articolo al funzionamento e all'utilizzo di questa potente classe. Per rendere la panoramica ancora più completa, consiglio la lettura dell'articolo The Hash sul blog ufficiale di MooTools: espone alcune nuove caratteristiche che compariranno con la nuova versione.
Gli hash vengono utilizzati principalmente per "mappare" un oggetto, ovvero per creare una sorta di wrapper attorno ad esso che servirà per compiere operazioni molto interessanti.
Iniziamo con la descrizione del costruttore Hash: esso accetta un solo parametro, che è l'oggetto descritto sopra. I metodi che questo costruttore supporta sono i seguenti:
true se è presente, altrimenti false;$extend, di cui usa le funzionalità); $merge, di cui usa le funzionalità);Vediamo ora un semplice utilizzo di Hash per effettuare il mapping di un oggetto:
var hash = new Hash({ 'a': 'value of a', 'b': 'value of b', 'c': 'value of c', 'd': 'value of d' }); // otteniamo il valore della chiave 'b': 'value of b' hash.get('b'); // impostiamo una nuova proprietà hash.set('e', 'value of e'); // impostiamo un nuovo valore per una vecchia proprietà hash.set('b', 'new value of b'); // controlliamo se ha la chiave c: true hash.hasKey('c');
Alcuni potrebbero obiettare che si tratta solamente di una normale dichiarazione di un oggetto solo più elegante, ma non è cosi.
Una volta che abbiamo dichiarato il nostro Hash, possiamo usufruire del potente metodo each, che permette di iterare attraverso tutte le sue proprietà, diversamente da un normale oggetto:
hash.each(function(value, key) { alert('Il valore della proprietà ' + key + ' è ' + value); }); // o ancora, preleviamo un valore e inseriamolo in un elemento hash.each(function(value, key) { if(key == 'b') $('myElement').setHTML("<b>" + value + "<b>"); })
|
Ottimizzare le Performance di jQuery: cache e concatenazione |
Canvas, guida praticaCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida jQuery UICreare siti ricchi e dinamici con jQuery UI, il progetto ufficiale... |
Guida Javascript: tecniche avanzateUna guida dal taglio pratico per approfondire la programmazione a... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Google AdWords Base27 Febbraio 2012 a Milano |
|
|
Corso Webmaster base12 Marzo 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster19 Marzo 2012 a Milano |
|
|
Corso Webmaster base20 Febbraio 2012 a Roma |
|
|
Corso Google AdWords Base28 Marzo 2012 a Roma |