Mike: Wie kann man Varialen in JS auf Existenz prüfen ?

Hallo,

gibt es eine Möglichkeit mit JS zu prüfen, ob es eine Variable gibt?
Bsp.: ich möchte wissen ob die Variable test1 existiert.
In php macht man das mit isset, aber in JS?
Die prüfung if(test1) liefert einen Fehler da test1 nicht existiert und bricht dann die Verarbeitung ab. Erfolgreich ist es nur wenn vorher test1 deklariert wird.
Ein if(test1=="undefined") ist auch nur möglich, wenn die Variable deklariert ist, aber noch nicht initialisiert.

Weiss jemand Hilfe

Mike

  1. Hallihallo!

    Eine Möglichkeit, eine ganz normale Variable auf ihre Existenz zu prüfen, gibt es in Javascript meines Wissens nach nicht.

    Das ist aber auch gar nicht nötig, weil man durch vernünftiges Programmieren gar nicht erst in die Verlegenheit kommt, wenn man alle benutzten (oder eventuell benutzten) Variablen einfach vorher deklariert.

    Der einzige Fall, wo man vielleicht in die Verlegenheit kommen könnte, solch eine Überprüfung zu brauchen, sind Arrays. Dann hiesse die Frage: wie kann man überprüfen, ob ein Array mit einem bestimmten Index existiert?
    Dafür gäbe es dann auch wieder eine Lösung: (Der Array heisst einfach mal a[i].
    if (i <= a.length)
       { alert("a[i] ist definiert!"); }
    else {
       { alert("a[i] ist nicht definiert!"); }

    Wie gesagt, Arrays stellen die einzige Problemstellung für die Frage "definiert oder nicht?" dar. Alles Andere lässt sich durch sauberes Programmieren verhindern.

    Ich hoffe, damit konnte ich Dir helfen...

    Viele liebe Grüße,
    Der Dicki

  2. Hallo Mike,

    gibt es eine Möglichkeit mit JS zu prüfen, ob es eine Variable gibt?
    Die prüfung if(test1) liefert einen Fehler da test1 nicht existiert und bricht dann die Verarbeitung ab. Erfolgreich ist es nur wenn vorher test1 deklariert wird.

    Variablen sind in JS Eigenschaften des Fensterobjektes. Diese Fenstereigenschaft kannst du abfragen und du erhälst dann keine Fehlermeldung.

    if (window.test1)

    löst dein Problem.

    Viele Grüße

    Antje

  3. Hallo,

    gibt es eine Möglichkeit mit JS zu prüfen, ob es eine Variable gibt?
    Bsp.: ich möchte wissen ob die Variable test1 existiert.

    if(typeof(test1)!="undefined")alert("test1 existiert.");

    MfG, Thomas

  4. Hallo Leute,

    Danke für die Tips !!
    Beide Varianten (mit typeof und mit window.test1) klappen.

    @Dicki: Hast recht, sehe ich auch so, das man es vermeiden sollte, ging auch nur um ein testscript.

    Mike