Hallo Juergen,
beim Zugriff auf eine Variable die nicht existiert wird normalerweise
eine Ausnahmebedingung ausgelöst, was man sich wiederum zu Nutzen machen kann.
function IsVar (varName)
{
var _tmp;
try
{
eval("_tmp = " + varName + ";");
return true;
}
catch (error)
{
return false;
}
}
z.B :
var str1 = "";
IsVar("str1"); //- true
IsVar("str2"); //- false
Jau, jetzt kann ich hier dank der Funktion mein Script (fast unverändert) per if(IsVar('meineVarible'))..
weiter nutzen, (bzw endlich fehlerfrei :)) )
Wobei man beachten sollte, dass _tmp als Name eindeutig ist. Ich weiß aber nicht ob dass so in jedem Browser funktioniert. Eine
"richtige" Standardfunktion ist mir jedenfalls nicht bekannt.
Und bevor Du mich fragst ob ich dass ausreichend getestet habe, nein das habe ich nicht.
Aber ich ;)
Es funktioniert gut.
Laut SelfHTML (s.u.) ab JavaScript 1.5 + N6
und bei mir per Test (Win NT) mit allen neueren Netscapes (6x Mozi K-Meleon) und auch IE 5.5 + 6!
... in SelfHTML habe ich entsprechendes gefunden, ganz direkt zum Thema:
http://selfhtml.teamone.de/javascript/beispiele/fehlerbehandlung_try_catch.htm
und der Artikel davor ist artverwand:
http://selfhtml.teamone.de/javascript/beispiele/fehlerbehandlung.htm
Vielen Dank,
Horst