• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Wurde Objekt als Funktion ausgeführt?

Status
Für weitere Antworten geschlossen.

Gilles

Blogger
Hallo Zusammen,
Irgendwann hatte ich mir mal ein objekt geschrieben. Dieses sollte nicht als Funktion ausgeführt werden können.
Leider hab ich vergessen wie ich abgeprüft habe ob geschrieben wurde:
new MeinObjekt()
oder nur MeinObjekt()

Hatte es zuerst imt typeof probiert. Aber in beiden Fällen sagt er mir er wäre vom Typ object.

Code:
 function MeinObjekt() {
    alert(typeof this);
 }

 new MeinObjekt();
 MeinObjekt();
Weiss einer von euch wie ich heraus kriege, ob es sich um ein instanziiertes Objekt handelt?

----

Edit:

Hab es nun doch noch herausgefunden. Wenn das Ganze als Funktion aufgerufen wird, wird es im Kontext des Window Elementes aufgerufen.
Somit
ergibt die Abfrage

if(this == self) true

Wird jedoch ein Objekt erzeugt befinden wir uns in einem anderen Kontext.
Dann ergibt:

if(this == self) false
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben