Steffen Flämig: prüfen, ob ein Objekt schon existiert und ggf. erzeugen

Hallo,

wie kann man in JavaScript prüfen, ob ein Objekt schon existiert und wenn nicht dieses erzeugen.

Ich haben folgendes versucht:

ff (!myBar)
 myBar= new bar();

myBar.foo = "blabal";

function bar()
{
    // Attribute
    this.foo
};

und bekommen dei Fehlermeldung: 'myBar' ist undefiniert. Genau das wollte ich auch wissen, nur eben nicht als Fehlermeldung sondern als mit if auswertbaren booleschen Wert :-/.

Gruß
Steffen

  1. Hi,

    und bekommen dei Fehlermeldung: 'myBar' ist undefiniert.

    verwende typeof(), oder prüfe auf Existenz der Eigenschaft im window-Objekt.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. verwende typeof(), oder prüfe auf Existenz der Eigenschaft im window-Objekt.

      *grmpf* Man sollte dich zum Syntaxhighlighten und Linksetzen verurteilen, um eine Chance zu haben, vor dir zu antworten.

      Siechfred

      --
      Ich bin strenggenommen auch nur interessierter Laie. (molily)
      1. Hi,

        *grmpf* Man sollte dich zum Syntaxhighlighten und Linksetzen verurteilen, um eine Chance zu haben, vor dir zu antworten.

        das ist Unfug. Um vor mir zu antworten musst Du einfach nur schneller sein ;-)

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Um vor mir zu antworten musst Du einfach nur schneller sein ;-)

          <sing style="schief">
          Fast as a shark
          he'll cut out of the dark
          He's a killer
          he'll rip out your heart
          </sing>

          Siech*scnr*fred

          --
          Ich bin strenggenommen auch nur interessierter Laie. (molily)
  2. wie kann man in JavaScript prüfen, ob ein Objekt schon existiert und wenn nicht dieses erzeugen.

    Verwende entweder typeof:

    if(typeof foo == 'undefined') var foo = new Object;

    Oder gib explizit an, von welchem Objekt 'foo' ein Unterobjekt sein sollte:

    if(!window['foo']) foo = new Object;

    Alles, was du nicht explizit als Unterobjekt eines anderen Objektes definierst, ist automatisch Unterobjekt von window als dem ranghöchsten Objekt in Javascript.

    Siechfred

    --
    Ich bin strenggenommen auch nur interessierter Laie. (molily)