JavaScript Object-Oriented.

Attraverso Prototype, possiamo creare classi javascript con facilità grazie ad alcune utilità che ci mette a disposizione.

Se vogliamo rappresentare una istanza di una classe in formato stringa, possiamo ricorrere al metodo toString (), che restituisce appunto una stringa dell'istanza: potremmo anche usare questo metodo per fornire in output dei frammenti di codice html da iniettare nella pagina.

E' possibile definire un costruttore: mediante la  funzione initialize (), possiamo eseguire un metodo non appena si crea una nuova istanza della nostra classe.

Nell'esempio seguente utilizziamo la sintassi meno recente per creare una classe:

Vediamo questa volta un esempio con la nuova sintassi consigliata nella documentazione della versione 1.6 del framework:

Gestire corretamente il binding.

La questione del binding è un argomento molto delicato in javascript, prototype come al solito ci viene incontro, con due aggiunte all'oggetto Function: bind e bindAsEventListener.

Il problema di fondo è quello di poter passare  un metodo come argomento per un'esecuzione ulteriore, senza perdere il riferimento che lo associa a un determinato oggetto. In particolare, bindAsEventListener è utilizzato nell'osservazione degli eventi, in quanto passa l'oggetto Event come primo argomento della funziona associata, mentre per implementare un callback per una risposta Ajax viene di solito impiegato bind, in quanto la risposta non è attivata da un evento.  

Vediamo un esempio che utilizza BindAsEventListener:

  • Social:
  • delicious
  • digg
  • diggita
  • facebook
  • google
  • reddit
  • segnalo
  • technorati
  • technotizie
  • twitter
  • yahoo
  • wikio
Inserisci un commento
codice di sicurezza

(*) Campi obbligatori

L'html nel testo del commento è abilitato: i tag consentiti sono: a, em, strong, p, code, pre, quote e br.

Gli attributi dei tag utilizzabili sono title e href.

follow me on Twitter