Pour tout programme JavaScript, lorsque le programme démarre, l'interpréteur JavaScript initialise un objet global à utiliser par le programme. Les fonctions de l'objet global fournies par JavaScript lui-même incluent :
1. L'objet global a certaines valeurs d'attribut couramment utilisées. Tels que non défini, Infinity et NaN.
2. L'objet global possède des objets d'attribut couramment utilisés. Par exemple, les objets Math, JSON et Number sont tous des propriétés de l'objet global.
3. L'objet global fournit des fonctions globales pour l'appel. Par exemple, isNaN(), isFinite(), parseInt(), eval(), etc.
4. Les objets globaux fournissent des constructeurs globaux, c'est-à-dire des classes globales. Par exemple, Date(), RegExp(), String(), Object(), Array(), etc.
En plus de l'objet global JS, il existe un autre objet global pour les programmes JavaScript exécutés sur le navigateur : window. L'objet global window fournit de nombreuses propriétés et méthodes liées à la fenêtre et à la page actuelles.
En plus de ces propriétés et méthodes globales liées au navigateur, l'objet window encapsule également l'objet global JS et expose les propriétés et les interfaces de l'objet global JS. Par conséquent, lors de l'exécution de la programmation JavaScript côté navigateur ; se soucier de l'objet global window.
Pour cela dans un programme JavaScript, si this n'appartient à aucune fonction, alors this this fait référence à l'objet global JS ; s'il s'agit d'un programme JS exécuté sur le navigateur, alors this this fait référence à la fenêtre ; objet global.
Si this appartient à une fonction, alors this fait référence à l'objet qui appelle la fonction. Si la fonction est simplement une fonction ordinaire dans ce cas, plutôt qu'une méthode d'une certaine classe, alors il existe deux possibilités pour la référence :
1 Dans le standard ECMAScript 3 et dans le non-. Norme ECMAScript 5 stricte En mode, cela fait référence à l'objet global.
2. Dans le mode strict de la norme ECMAScript 5, cela fait référence à undefined.
Selon cette fonctionnalité, vous pouvez utiliser le code suivant pour déterminer si vous êtes actuellement en mode strict :
var strict = (function(){return !this;}());
Si une variable globale est créée dans un programme JavaScript, alors cette variable globale La variable deviendra un objet global et un attribut dans .
Expérience
var a = this; console.log(a);//window object console.log(a.outerWidth);//access window object's attribute console.log(a.isNaN);//access JS global object's attribute x = "test"; console.log(a.x);//access newly created global variable value
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!