Possiamo inoltre estenderlo con nuove proprietà, utilizzando l'elegante metodo di estensione OOP che caratterizza il framework MooTools:
// l'Hash hash guadagna le proprietà 'f', 'g', 'h', 'i'
hash.extend({
'f': 'value of f',
'g': 'value of g',
'h': 'value of h',
'i': 'valueo of i'
});
Oppure fonderlo con altri oggetti, ottenere tutte le chiavi o tutti i valori e così via. A questo proposito ho creato un esempio che utilizzando i metodi values e keys permette di creare una tabella che contiene tutte lo coppie chiave/valore dell'Hash che abbiamo creato.
In questo modo abbiamo un controllo completo e flessibile sia sulle chiavi che sui valori di un hash.
Un'altra importante funzionalità della classe Hash è la sua estensione Hash.Cookie (hash.cookie.js) che permette di salvare il valore di un hash all'interno di un cookie.
Il costruttore Hash.Cookie accetta due parametri: il nome del cookie e le sue opzioni, identiche a quelle disponibili per il costruttore Cookie (http://docs.mootools.net/Remote/Cookie.js) con l'aggiunta di autoSave, che se impostata a true, permette di salvare il cookie ad ogni operazione che si compie.
I metodi disponibili per questa classe, oltre a quelli ereditati da Hash sono:
false);Vediamo un semplice esempio:
var user = new Hash.Cookie('User');
// aggiungiamo nuove proprietà
user.extend({
'name': 'A Guest',
'type': 'guest'
});
// Abbiamo salvato il cookie (autoSave:true). In un'altra pagina viene caricato automaticamente:
var user = new Hash.Cookie('User');
// 'guest'
user.get('type');
// ora cancelliamo il cookie
user.erase();
Questa applicazione mostra come salvare un intero hash all'interno di un cookie e compiere operazioni con esso, utilizzando i metodi ereditati dalla class Hash come extend e get.
In questo articolo abbiamo visto tutta la flessibilità che ricaviamo dall'avvolgere un normale oggetto all'interno di un Hash. I vantaggi sono molteplici: sotto l'aspetto del codice questo risulterà più elegante e accessibile, mentre per quanto riguarda le funzionalità un Hash può usufruire dei potenti metodi each, extend e merge. Abbiamo visto inoltre come utilizzare la classe Hash.Cookie per salvare le informazioni che vogliamo, create con un Hash, all'interno di un cookie per poi usufruirne nel corso della nostra applicazione.
Un'altra nota importante sugli Hash: nella successiva versione di MooTools questa classe verrà potenziata ulteriormente con altri metodi del costruttore Array, come some, filter, every e map, permettendo un ulteriore grado di iterazione tra le chiavi del nostro hash.
Guida Node.jsIl framework che permette di per usare V8, l'interprete JavaScript... |
Canvas, guida ai frameworkCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida jQuery UICreare siti ricchi e dinamici con jQuery UI, il progetto ufficiale... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster03 Luglio 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |