2015-12-25 7 views
6

In Chrome und Firefox kann ich in der Konsole sehen:Window-Objekt, Fensterfunktion und Objektfunktion

typeof Window 
"function" 
typeof window 
"object" 

Können Sie mir den Unterschied erklären? Ich meine, ich dachte immer, dass Fenster ein Objekt der obersten Ebene ist, und jetzt sehe ich, dass es tatsächlich eine Funktion ist, während Fenster ein Objekt ist. Da Fenster ein Objekt der obersten Ebene ist, sollte Window eine Methode von Window sein? Wenig verwirrend ...

Oh, und es ist auch Gegenstand, das ist ...

typeof Object 
"function" 

Also, was ist die Beziehung zwischen diesen drei Dinge ist?

Antwort

0

Nun window ist ein Objekt und Window ist seine Konstruktorfunktion. Seine Art wie window ist das Objekt und Window ist die Klasse.
window ist das globale Objekt (nicht Window) so ist es nur natürlich für Window, eine Methode darauf zu sein. Da Window ein Sonderfall ist, können Sie nicht einfach einen anderen new Window() erstellen, wie Sie es mit RegExp oder Date tun würden.

alert(window instanceof Window);

0

Object ist ein Cunstructor (Funktion) zum Erstellen eines neuen Objekts, so wie Window. window ist ein Objekt.

window ist jedoch ein sehr spezielles Objekt/Variable in JavaScript. Jede globale Variable ist im Fenster enthalten! Deshalb window.window.window immer die gleiche ist, wie es immer Punkte, um den Hauptbehälter

Sie können mehr über Fenster lesen Sie hier: https://developer.mozilla.org/en/docs/Web/API/Window, http://www.w3schools.com/js/js_scope.asp

+0

Können Sie uns erklären, was die gemeinsame Nutzung der Fenster sind? –

+0

Sie würden ein anderes Fensterobjekt erstellen, mir ist kein nützliches Beispiel bekannt – CoderPi

Verwandte Themen