mi permetto di completare con alcuni link:
crockford: http://www.crockford.com/javascript/private.html

e talvolta si possono trovare articoli interessanti sul blog di dustin diaz:
http://www.dustindiaz.com/
esempi:
http://www.dustindiaz.com/javascript...ic-privileged/
e l'interessantissimo
http://www.dustindiaz.com/namespace-your-javascript/


dove spiega il concetto di namespacing, utilizzando function autorichiamanti;

esempio
codice:
var com={};
com.blogspot={};
com.blogspot.mykenta={};
com.blogspot.mykenta.test=function(){
   var a;
   //qui avviene la dichiarazione della classe
   //bla bla bla
      function _saluta(){
       alert('ciao')
      };
   //ritorniamo un oggetto usando la eval-notation
   return {saluta:_saluta}
}();

com.blogspot.mykenta.test.saluta();