Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée des instances globales d'objet/fonction JavaScript fournies par divers environnements de navigateur

伊谢尔伦
Libérer: 2017-07-27 16:54:21
original
1545 Les gens l'ont consulté

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);
Copier après la connexion

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);
Copier après la connexion

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) 
    } 
}
Copier après la connexion

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; 
    }    
}
Copier après la connexion
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==&#39;a1&#39;||a==&#39;a2&#39;){ 
        alert(a) 
    } 
}
Copier après la connexion
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 
    }    
}
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal