in here : http://javascript.html.it/guide/lezi...embri-privati/
l'autore scrive:
Questi membri infatti hanno uno scope limitato ed esistono solo all'interno della funzione che definisce l'oggetto. Essi non possono essere disponibili proprio perché non c'è modo di riferirsi a questa funzione in quanto non viene salvata in nessuna variabile ma viene eseguita subito. Questi membri privati però sono accessibili all'interno di metodi e proprietà pubbliche in quanto condividono lo scope tra di loro. Ecco un esempio:
codice:
E' tutto sbagliato! Intanto NameModule bisogna eseguirlo perche' ritorni qualche cosa. Senno e solo copiato per riferimento into nm e non andiamo da nessuna parte. Poi vale la pena di aggiungere un po di "var" davanti a name e getName senno vengono attaccati a window e si ottiene il contrario del motivo per cui il module pattern e stato inventato (creare privatezza dove il linguaggio non l'ha prevista).codice:NameModule = function() { name = "Alberto"; getName = function() { return this.name; } return { alertName: function() { alert(getName()); } } } var nm = NameModule; nm.alertName();
Come dice il vecchio Doug "programmare e gia' abbastanza difficile" ...
Lo dite voi alla redazione?
La cosa buffa e' che l'errore e ripetuto dappertutto nel tutorial.
p.s.: cumpa' ... ascoltata o nourdine ... a bibbia rimane sempre chista acca: http://forum.html.it/forum/showthrea...readid=1014613