Struppi: JS-Bibliothek strukturieren

Beitrag lesen

Nun habe ich doch noch eine konkrete Frage. Nehmen wir mal folgende Konstruktion an:

var lib = new function () {
  this.func1 = new function () {
    this.init = function () {alert(wert);};
  };
};


>   
> Wenn ich jetzt lib.func1.init(); aufrufe, ist "wert" natürlich nicht definiert und würde einen Fehler ergeben. Ich möchte nun aber "wert" im Bereich von func1 vorbelegen und ggf. vor dem Aufruf überschreiben.  
  
Kommt darauf an, als was du dieses Attribut siehst.  
Ist es eine Eigenschaft von lib?  
Dann so:  
~~~javascript
var lib = new function () {  
  this.wert = 0;  
  var self = this;  
  this.func1 = new function () {  
  this.init = function () {alert(self.wert);};  
  };  
};  
lib.wert = 1;  
lib.func1.init();  

Ist es eine Eigenschaft von lib.func1, dann so:

var lib = new function () {  
  this.func1 = new function () {  
 this.wert = 0;  
    this.init = function () {alert(this.wert);};  
  };  
};  
lib.func1.wert = 1;  
lib.func1.init();  

Struppi.