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:


codice:
NameModule = function() {
  name = "Alberto";
  
  getName = function() { return this.name; }
  
  return {
    alertName: function() { alert(getName()); }
  }
}

var nm = NameModule;
nm.alertName();
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).

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