Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der globalen Objekt-/Funktionsinstanzen von JavaScript, die von verschiedenen Browserumgebungen bereitgestellt werden
Globale Objekte/Funktionen, die von der Host-Umgebung bereitgestellt werden
wie Fenster, Warnung, SetTimeout, Dokument, Standort usw. Die meisten Browser schränken ihr Umschreiben ein
window = 55; alert(window);
Dieser Satz führt im IE zu einem Fehler, der auf illegales Kopieren hinweist, und das folgende Popup-Fenster wird nicht ausgeführt. Andere Browser öffnen das Fenster immer noch, wenn window=55 nicht existiert.
Warnung zum Umschreiben
alert = 55; console.log(alert);
IE meldet einen Fehler, Firefox/Chrome/Safari/Opera wurde neu geschrieben und Sie können die Ausgabe von 55 auf der entsprechenden Konsole sehen. Es ist ersichtlich, dass einige Browser das Umschreiben globaler Objekte/Funktionen, die von der Host-Umgebung bereitgestellt werden, nicht unterstützen, andere hingegen schon.
Es gibt zwei Möglichkeiten, globale Variablen zu deklarieren
a1 = 11; var a2 = 22; for(a in window){ if(a=='a1'||a=='a2'){ alert(a) } }
Der obige Code öffnet das Informationsfeld im IE nicht. Der interne Inhalt im IE ist wie folgt
//IE with(host_object){//window with(global_object){//Global a1 = 11; var a2 = 22; } }
Das heißt, a1 und a2 sind die Eigenschaften des globalen Objekts, das von der JS-Engine wie oben erwähnt bereitgestellt wird, und nicht die Eigenschaften des Fensterobjekts, das von der zweiten Hostumgebung bereitgestellt wird. Daher sind a1 und a2 im Fenster im IE nicht vorhanden. Wenn der IE einen Verweis auf das globale Objekt bereitstellt, kann der folgende Code möglicherweise ein Informationsfeld anzeigen.
for(a in Global){ if(a=='a1'||a=='a2'){ alert(a) } }
Das Innere von Firefox/Safari/Chrome/Opera sieht wahrscheinlich wie folgt aus
//Firefox/Safari/Chrome/Opera with(host_object){//window a1 = 11; var a2 = 22; with(global_object){//Global } }
Das heißt, a1 und a2 sind der zweite oben genannte Typ, sofern die Gesamtsituation gegeben ist durch die Eigenschaften der Hostumgebung im Objektfenster. Wenn daher im Fenster „for“ sowohl „a1“ als auch „a2“ vorhanden sind, wird ein Informationsfeld angezeigt.
Sehen Sie sich die Methode eines Drittanbieters zum Deklarieren der globalen Variablen window.a3 = 33 an. Dies zeigt, dass a3 als Eigenschaft des Fensters an das Fenster hängt, sodass es abgerufen werden kann, wenn für in window in alle Browser.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der globalen Objekt-/Funktionsinstanzen von JavaScript, die von verschiedenen Browserumgebungen bereitgestellt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!