Checken, ob Objekt existiert
Eddie
- javascript
0 stephan0 Eddie0 Manfred Laudahn0 Struppi
Hallo,
koennt Ihr mir sagen, wie ich ueberpruefen kann, ob ein Objekt ueberhaupt korrekt erzeugt wurde?
z.B. mache ich folgendes:
myBox = eval("document.myForm.myBox");
myBox.checked = false;
Da myBox aber dynamisch erzeugt wird und manchmal nicht vorhanden ist, bekomme ich in diesem Fall einen Fehler.
Gibt's bei JS nicht sowas wie try/catch?
Oder irgendeine andere Methode?
Danke Euch,
Eddie
if (document.myForm && document.myForm.myBox) myBox.checked = false;
Danke Stephan, funzt jetzt.
Eddie
if (document.myForm && document.myForm.myBox) myBox.checked = false;
Diese Konstruktion zeigt die Richtung auf, ist aber so nicht wasserdicht! Ich kann in Javascript nicht gleichzeitig die Existenz eines Objekts und eines Unterobjekts abfragen. Ergibt nämlich schon das erste Vergleichsglied falsch, läuft die Frage nach dem Unterobjekt auf eine Fehlermeldung! In Javascript werden in einer &&-Konstruktion immer alle Glieder abgearbeitet, auch dann, wenn schon das erste Glied die weitere Abarbeitung logisch überflüssig machen würde.
Ich selbst bin schon oft auf dieses Problem gelaufen, insbesondere wenn ich innerhalb einer Rahmenkonstruktion von einem Unterfenster auf ein anderes zugreifen möchte.
Manfred
if (document.myForm && document.myForm.myBox) myBox.checked = false;
Diese Konstruktion zeigt die Richtung auf, ist aber so nicht wasserdicht! Ich kann in Javascript nicht gleichzeitig die Existenz eines Objekts und eines Unterobjekts abfragen. Ergibt nämlich schon das erste Vergleichsglied falsch, läuft die Frage nach dem Unterobjekt auf eine Fehlermeldung! In Javascript werden in einer &&-Konstruktion immer alle Glieder abgearbeitet, auch dann, wenn schon das erste Glied die weitere Abarbeitung logisch überflüssig machen würde.
Das stimmt nicht, existiert dass oberste Objekt läuft diese Abfrage immer.
test = 1;
if( test && test.a && test.a.b) alert(''); else alert('siehste!')
Aber, wenn das oberste Objekt nicht existiert, dann scheitert diese Abfrage, dafür gibt es den typeof operator.
if(typeof test2 == 'undefined') alert('test2 existiert nicht');
Struppi.