I costruttori nativi sono le classi principali presenti in Javascript che identificano la tipologia di una variabile e forniscono metodi e proprietà specifiche per le proprie istanze. Tra le classi native troviamo Array, String, Function, Number, Object e cosi via.
All'interno di MooTools, ogni costruttore nativo nasce dall'oggetto Native. Ma non abbiamo a disposizione solamente le classi offerte da Javascript. Ogni classe che assuma un ruolo di "fondamentale importanza" diviene una classe Native. Troveremo dunque anche le classi native Hash, Event ed Element. Anche il costruttore Class studiato nelle precedenti lezioni è un costruttore nativo.
Ogni oggetto di tipo Native come quelli appena elencati, possiede un metodo implement (la cui funzionalità è simile a quella del metodo implement vista nelle lezione dedicata al costruttore Class) che permette di estendere l'oggetto prototype di un costruttore con nuovi metodi, in una modalità completamente orientata agli oggetti.
Per estendere l'oggetto Element ed aggiungere un nuovo metodo chiamato doSomething, dobbiamo dunque procedere nel seguente modo:
Element.implement({
doSomething: function() {
// do something...
}
});
Cosi facendo, abbiamo esteso il prototype di Element e tutte le istanze che nascono da questo costruttore avranno a disposizione il metodo doSomething.
Molti di voi, programmando in Javascript, saranno abituati a scrivere qualcosa del genere:
// restituisce 'my'
'my:string'.split(':')[0];
Ebbene, il metodo split del costruttore String applicato in questo modo, è un metodo istanza, il che significa che viene applicato ad una istanza della classe String (in questo caso la stringa my:string, appunto).
Con MooTools possiamo operare sulle nostre variabili sia tramite metodi istanza sia tramite metodi di classe. Ogni metodo dei costruttori nativi infatti, può essere applicato in MooTools anche come metodo di classe. Vediamo un esempio:
// metodo 'each' della classe Array usato come metodo istanza
['a', 'b', 'c'].each(function(el) {
alert(el);
});
// metodo 'each' della classe Array usato come metodo di classe
Array.each(['a', 'b', 'c'], function(el) {
alert(el);
});
Possiamo dunque riscrivere il precedente esempio nel seguente modo, utilizzando il metodo split come metodo di classe:
String.split('my:string', ':')[0]
Ovviamente le due metodologie danno risultati equivalenti, sta alle preferenze del programmatore scegliere la tecnica che più gli si addice.
Ora che abbiamo studiato quali sono i costruttori nativi presenti in MooTools, perché sono cosi importanti e come utilizzare ed estenedere le loro funzionalità, nelle prossime lezioni daremo uno sguardo a quelli più importanti ed utilizzati.
Kendo UI, un'alternativa a jQuery UISviluppare applicazioni desktop e mobile sfruttando jQuery e HTML5 e... |
Javascript MVC, realizzare la prima applicazioneSviluppare applicazioni scalabili con il framework JavaScript MVC |
Ottimizzare le Performance di jQuery: cache e concatenazioneRendere il codice jQuery più performante minimizzando le ricerche di... |
Dojo Toolkit, il framework JavaScript per il MobileCome sviluppare applicazioni mobile per iOS, Android e Blackberry... |
jQuery: messaggi di notifica con dNotifyUn plugin per jQuery che aggiunge un sistema unobtrusive di... |
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 |