Maison > Article > interface Web > Explication détaillée des instances globales d'objet/fonction JavaScript fournies par divers environnements de navigateur
Objets/fonctions globaux fournis par l'environnement hôte
tels que window, alert, setTimeout, document, location, etc. La plupart des navigateurs restreindront leur réécriture
window = 55; alert(window);
Cette phrase provoquera une erreur sous IE, indiquant une copie illégale, et la boîte de dialogue suivante ne sera pas exécutée. D'autres navigateurs affichent toujours la fenêtre lorsque window=55 n'existe pas.
Alerte de réécriture
alert = 55; console.log(alert);
IE affiche une erreur, Firefox/Chrome/Safari/Opera a été réécrit et vous pouvez voir la sortie de 55 depuis la console correspondante. On peut constater que certains navigateurs ne prennent pas en charge la réécriture des objets/fonctions globales fournies par l'environnement hôte, alors que d'autres le peuvent.
Voici deux façons de déclarer des variables globales
a1 = 11; var a2 = 22; for(a in window){ if(a=='a1'||a=='a2'){ alert(a) } }
Le code ci-dessus n'affichera pas la boîte d'informations dans IE. Le contenu interne dans IE est le suivant
//IE with(host_object){//window with(global_object){//Global a1 = 11; var a2 = 22; } }C'est-à-dire que a1 et a2 sont les propriétés de l'objet Global fournies par le moteur JS comme le premier mentionné ci-dessus, et non les propriétés de l'objet window fournies par le deuxième environnement hôte. Par conséquent, a1 et a2 n’existent pas dans la fenêtre d’IE. Si une référence à l'objet Global est fournie dans IE, le code suivant peut peut-être faire apparaître une boîte d'informations.
for(a in Global){ if(a=='a1'||a=='a2'){ alert(a) } }L'intérieur de Firefox/Safari/Chrome/Opera ressemble probablement à ce qui suit
//Firefox/Safari/Chrome/Opera with(host_object){//window a1 = 11; var a2 = 22; with(global_object){//Global } }C'est-à-dire que a1 et a2 sont le deuxième type mentionné ci-dessus, la situation globale fournie par les propriétés de l'environnement hôte dans la fenêtre de l'objet. Par conséquent, lorsque for est dans la fenêtre, a1 et a2 existent et une boîte d'informations apparaît. Regardez la méthode tierce de déclaration de la variable globale window.a3 = 33. Cela montre que a3 est accroché à la fenêtre en tant que propriété de la fenêtre, il peut donc être obtenu quand pour dans la fenêtre dans tous les navigateurs. a3.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!