if(typeof window[name_der_funktion] == 'function'){
Ich hab den dann wie folgt ergänzt:
if(typeof window[name_der_funktion] == 'function'){alert('okay')}else{alert('me')}
Und das funktioniert definitiv nicht!
Zur Unterscheidung:
Zugriff auf ein Unterobjekt über den direkt notierten Namen:
window.blub
Zugriff auf ein Unterobjekt über den Namen, der jedoch steckt in einem String:
window["blub"]
Über eine Variable dann:
var stringMitFunktionsnamen = "blub";
window[stringMitFunktionsnamen]
Ist letztlich alles dasselbe, weil halt die Funktion blub angesprochen wird.
Das bedeutet:
var stringMitFunktionsnamen = "blub";
if (typeof window[stringMitFunktionsnamen]) {
alert("globale Funktion namens " + stringMitFunktionsnamen + " existiert");
}
Hingegen:
if (typeof blub == "function") {
alert("Funktion namens blub existiert");
}
Da das nicht in allen Fällen identisch ist mit dem ersten, kann man die existiert globaler Funktionen auch so abfragen:
if (typeof window.blub == "function") {
alert("globale Funktion blub existiert");
}
Mathias