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.
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
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();
----
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: