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
sumpsi - posui - clusi