eza: wahrscheinlich saublöde Frage : variable auf existenz testen

hi forum,

ich möchte testen, ob eine globale Variable, die im Kopf meiner HTMl-Datei definiert ist existiert.

wenn ich aber

if (VariablenName) { usw

sage,

schmeisst er mir eine Fehlermeldung.....
(das geht wahrscheinlich nur wenn die Variable zumindestens FALSE ist..)

gibt es Abhilfe ? Ich habe in SelfHtml leider nichts gefunden...

Vielen Dank

eza

  1. Sup!

    Die Frage ist eigentlich sogar recht gut.

    ftp://ftp.ecma.ch/ecma-st/Ecma-262.pdf hat die Antwort - ab JS Version... ehm... 1.5? sollte man mit typeof() rausfinden können, ob die Variable definiert ist - wenn nicht, dann kommt "undefined" raus.

    Nun, eigentlich sollte dann aber auch kein Fehler bei einem == Vergleich rauskommen... vielleicht geht ja if (document.variablenname) {} noch eher, weil dann immerhin der Bezug klar ist.

    Wie gesagt, gute Frage - am besten wäre es sicher, wenn man sicherstellt, daß alle Variablen definiert sind.

    Gruesse,

    Bio

    1. Danke Bio !!!

      mit document.variablenname gehts !

      (zumindestens auf ie5, andere browser muss ich noch testen...)

      1. Hallo,

        mit document.variablenname gehts !

        ich frage immer zuerst "if(variablenname)" ab, also sogar ohne "document.". Das hat bisher eigentlich immer geklappt ...

        Grüße,

        Sebastian

      2. MoiN!

        mit document.variablenname gehts !

        Ich würde irgendwie daran zweifeln. Üblicherweise gehören Javascript-Variablen nicht dem Dokument, sondern dem Fenster. Schließlich kann man mit top.fenstername.variable=wasanderes; oder top.fenstername.funktion(); frameübergreifend zugreifen.

        Insofern müßte die Prüfung eher if (self.variable) lauten.

        Wenn du irrtümlich document.variable abfragst, kriegst du unter Umständen immer false raus, weil es eben keine x-beliebigen Unterobjekte von document gibt.

        - Sven Rautenberg