Hallo,
if(window.foo){
alert ('foo is definded');
}
Wieso votiert hier jemand für nicht hilfreich? Der Tipp ist (teilweise) korrekt für globale Variablen.
Der Zugriff über das Elternobjekt ist tatsächlich eine andere Geschichte als bloß über foo. Seltsame Sache, ist aber so: alert(foo) gibt einen JavaScript-Fehler, wenn es foo nicht gibt. alert(window.foo) ergibt hingegen einfach undefined.
Das Problem ist eher: if (window.foo) nicht vergleichbar mit typeof(foo) != "undefined", weil window.foo in dem Fall durchaus definiert sein kann mit den Werten null, false, String("") oder Number(0), die if-Abfrage aber nicht greift. Da muss man schon genauer prüfen.
Mathias