Rolf B: Window Object

Beitrag lesen

Hallo J o,

da sie lokal sind und nicht auf dem window-Objekt als Eigenschaften angelegt werden, kann ein Aufruf mit window['bar']() auch nicht funktionieren.

bar() würde klappen.

Wenn Du ein namentliches Funktions-Verzeichnis brauchst, das innerhalb deines Ready-Handlers funktioniert, kannst Du zum Beispiel ein lokales Objekt mit Methoden anlegen. Es gibt eine Menge Möglichkeiten, wie man Methoden in ein Objekt bringt oder sie darauf aufruft.

let bar = 'zap';
let myFuncs = {       // var statt let, wenn Du ältere Browser unterstützen willst
   foo: function() {  alert('1'); },
   [bar]: function() { alert('2'); }     // Verwendet Inhalt von baz als Methodenname!
};
myFuncs['ook'] = function() { alert('banana'); };

myFuncs.foo();        // funktioniert
myFuncs['foo']();     // funktioniert auch
myFuncs.bar();        // FUNKTIONIERT NICHT
myFuncs.zap();        // funktioniert
myFuncs['zap']();     // das natürlich auch
myFuncs['ook'](); // Macht den Bibliothekar glücklich

Aber - brauchst Du eins? Was genau ist dein Plan?

Rolf

--
sumpsi - posui - clusi