E' il solito problema di javascript riguardo OOP ed enclosures e riguardo il fatto che javascript .... be' e' javascript. (non sollevo questioni ho aperto un thread a riguardo )

cmq ti lascio 1 codice che puoi darti 1 esempio

codice:
var a = function()
{
       this.publicAttr = "attr pubblico" ;
       var privateAttr = "attr privato" ;
       var self = this ; // estendiamo lo scope di this e rendiamolo disponile a tutti :D 


       this.publicMethod = function()
       {
              alert( this.publicAttr )
              alert( this.privateAttr )
       }


       var privateMethod = function()
       {
              alert( this.publicAttr ) 
              alert( this.privateAttr )

              alert( self.publicAttr )
              alert( self.privateAttr )
       
       }



}