Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Creare namespace con Prototype

Uno snippet per Prototype che permette di creare proprietà complesse e incatenate semplicemente con la funzione namespace.
Uno snippet per Prototype che permette di creare proprietà complesse e incatenate semplicemente con la funzione namespace.
Link copiato negli appunti

Leggendo questo articolo ho trovato uno snippet scritto per Prototype (ma che può essere facilmente integrato in qualsiasi tipo di applicazione), che fa uso del metodo Enumerable:inject, davvero utilissimo.
In pratica, permette di creare proprietà  di oggetti complessi, semplicemente richiamando la funzione personalizzata namespace applicata all'oggetto String.
Vediamo un esempio pratico per capire meglio. Vogliamo creare :

var wrap = {
  prop: {
    inn: {
      sub: "l'ultima proprietà "
    }
  }
}
// In questo modo abbiamo creato un oggetto che contiene un oggetto, che a sua volta ne contiene un altro e cosi via.
// Sembra complicato, ma non è raro avere l'occorrenza di creare qualcosa del genere.
// ora richiamiamo la proprietà  e otterremo il valore "l'ultima proprietà ":
wrap.prop.inn.sub;

àˆ inutile dire che scritto cosi è molto incatenato e difficilmente leggibile. A questo proposito nasce la funzione namespace, che permette di svolgere le seguente operazione:

// il separatore di default è "."
'wrap.prop.inn.sub'.namespace();
// ora richiamiamo la proprietà  e otterremo il valore "l'ultima proprietà ":
wrap.prop.inn.sub;

Ovviamente è possibile divertirsi creando proprietà  di oggetti esistenti e personalizzati (e utilizzando il separatore desiderato):

'MY_AWESOME_APPLICATION::util::DOM::dimensions'.namespace('::');
// true
'dimensions' in MY_AWESOME_APPLICATION.util.DOM;

Ti consigliamo anche