Der Kopf / das globale Objekt

JavaScript-Code selbst muss in einem Objekt enthalten sein. Wenn Sie zum Beispiel JavaScript-Code für eine Webbrowser-Umgebung erstellen, wird JavaScript in der eingebettet und ausgeführt Fenster Objekt. Diese Fenster Objekt wird als "Kopfobjekt" betrachtet oder manchmal als "globales Objekt" verwirrend bezeichnet. Alle Implementierungen von JavaScript erfordern die Verwendung eines einzelnen Kopfobjekts.

Das Kopfobjekt wird von JavaScript hinter den Kulissen eingerichtet, um benutzerdefinierten Code zu kapseln und den systemeigenen Code aufzunehmen, mit dem JavaScript vorinstalliert ist. Benutzerdefinierter Code wird zur Ausführung von JavaScript im Kopfobjekt platziert. Lassen Sie uns dies überprüfen, da es sich um einen Webbrowser handelt.

Im folgenden Beispiel werden einige JavaScript-Werte erstellt und überprüft, ob die Werte im Kopf platziert sind Fenster Objekt.

Beispiel: sample64.html

 

Sie sollten immer wissen, dass das Schreiben von JavaScript in den Kontext des Head-Objekts geschrieben wird. Für das verbleibende Material in diesem Kapitel wird davon ausgegangen, dass Sie wissen, dass der Begriff "Kopfobjekt" synonym für "globales Objekt" ist.

Das Kopfobjekt ist der höchste Gültigkeitsbereich / Kontext, der in einer JavaScript-Umgebung verfügbar ist.


Globale Funktionen innerhalb des Kopfobjekts

JavaScript wird mit einigen vordefinierten Funktionen geliefert. Die folgenden systemeigenen Funktionen werden als Methoden des Kopfobjekts betrachtet (wie in einem Webbrowser), window.parseInt ('500')). Sie können sich diese als fertige Funktionen und Methoden (des Kopfobjekts) vorstellen, die von JavaScript bereitgestellt werden.

  • decodeURI ()
  • decodeURIComponent ()
  • encodeURI ()
  • encodeURIComponent ()
  • eval ()
  • isFinite ()
  • isNaN ()
  • parseFloat ()
  • parseInt ()

Das Hauptobjekt im Vergleich zu globalen Eigenschaften und globalen Variablen

Verwechseln Sie das Kopfobjekt nicht mit globalen Eigenschaften oder globalen Variablen, die im globalen Bereich enthalten sind. Das Kopfobjekt ist ein Objekt, das alle Objekte enthält. Der Begriff "globale Eigenschaften" oder "globale Variablen" bezieht sich auf Werte, die direkt im Kopfobjekt enthalten sind und nicht speziell auf andere Objekte beschränkt sind. Diese Werte werden als global betrachtet, da unabhängig von dem aktuell ausgeführten Code der gesamte Code (über die Gültigkeitsbereichskette) Zugriff auf diese globalen Eigenschaften und Variablen hat.

Im folgenden Beispiel stelle ich ein foo Eigenschaft im globalen Bereich, und greifen Sie dann aus einem anderen Bereich auf diese Eigenschaft zu.

Beispiel: sample65.html

 

Hatte ich das platziert? foo Eigenschaft außerhalb des globalen Bereichs, der console.log Funktion würde zurückkehren nicht definiert. Dies wird im nächsten Codebeispiel demonstriert.

Beispiel: sample66.html

 

In der Browserumgebung werden deshalb globale Eigenschaftsmethoden verwendet (z. B., window.alert ()) kann aus jedem Bereich aufgerufen werden. Was Sie davon entfernen müssen, ist, dass alles im globalen Bereich für jeden Bereich verfügbar ist und daher den Titel "globale Variable" oder "globale Eigenschaft" erhält.

Es gibt einen kleinen Unterschied zwischen der Verwendung var und nicht verwenden var im globalen Bereich (globale Eigenschaften vs. globale Variablen). Sehen Sie sich diesen Stack Overflow-Austausch für die Details an: Unterschied zwischen der Verwendung von var und nicht der Verwendung von var in JavaScript.


Bezug auf das Kopfobjekt

Normalerweise gibt es zwei Möglichkeiten, auf das Kopfobjekt zu verweisen. Der erste Weg besteht darin, einfach den Namen des Head-Objekts anzugeben (wie dies in einem Webbrowser der Fall wäre) Fenster). Der zweite Weg ist die Verwendung der diese Stichwort im globalen Bereich. Jedes davon wird im folgenden Beispiel detailliert beschrieben.

Beispiel: sample67.html

 

In diesem Beispiel speichern wir explizit einen Verweis auf das Kopfobjekt in zwei Variablen, die dann verwendet werden, um auf das Globale zuzugreifen foo Variable.


Das Kopfobjekt ist impliziert und wird normalerweise nicht explizit referenziert

Normalerweise wird kein Verweis auf das Kopfobjekt verwendet, da es impliziert ist. Zum Beispiel in der Browserumgebung window.alert und warnen() sind im Wesentlichen die gleiche Aussage. JavaScript füllt hier die Lücken aus. Weil der Fenster Objekt (das Kopfobjekt) ist das letzte in der Gültigkeitsbereichskette für einen Wert geprüfte Objekt, das Fenster Objekt ist im Wesentlichen immer impliziert. Im nächsten Beispiel nutzen wir die warnen() Funktion, die im globalen Gültigkeitsbereich enthalten ist.

Beispiel: sample68.html

 

Fazit

Stellen Sie sicher, dass Sie verstehen, dass das Kopfobjekt impliziert ist, auch wenn Sie es nicht explizit einschließen, da das Kopfobjekt der letzte Stopp in der Gültigkeitsbereichskette ist.

Explizit sein (zum Beispiel, window.alert () vs. warnen()) kostet etwas mehr in Bezug auf die Leistung (wie schnell der Code läuft). Dies ist schneller, wenn Sie sich nur auf die Gültigkeitsbereichskette verlassen und nicht explizit auf das Kopfobjekt verweisen, auch wenn Sie wissen, dass die gewünschte Eigenschaft im globalen Gültigkeitsbereich enthalten ist.