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();
[/code]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