Maison > Article > interface Web > Explication détaillée des méthodes pour obtenir diverses variables d'objet globales en JavaScript
Les variables globales ont toujours été considérées comme une mauvaise méthode de programmation dans les langages de programmation. Mais la réalité est que de nombreux projets bien connus utilisent largement des variables globales. Par exemple, MooTools place un grand nombre d'objets dans l'espace global, tels que les objets Browser
et $$
, etc. Le jQuery le plus connu utilise également des variables globales. Par conséquent, la théorie selon laquelle « les variables globales sont mauvaises » est en réalité dans un état très ridicule.
C'est une mauvaise habitude de programmation d'exposer des variables globales et de permettre aux utilisateurs de les modifier arbitrairement (sauf si cela est spécifiquement conçu), ce qui rendra le programme difficile à maintenir. Alors, comment savoir quelles variables globales se trouvent dans l’espace de variables globales existant ? En fait, la méthode est très simple :
// UPDATE: This method is too naive // Returns an array of window property names //keys(window); // Inject an iframe and compare its `contentWindow` properties to the global window properties (function() { var iframe = document.createElement('iframe'); iframe.onload = function() { var iframeKeys = Object.keys(iframe.contentWindow); Object.keys(window).forEach(function(key) { if(!(key in iframeKeys)) { console.log(key); } }); }; iframe.src = 'about:blank'; document.body.appendChild(iframe); })();
Nous pouvons faire un test avec le code ci-dessus Vous pouvez directement appuyer sur la touche de fonction F12
pour ouvrir la console, saisir le code ci-dessus et regarder les résultats de sortie. . Vous constaterez que certains objets, tels que window
, document
, top
et location
, sont intégrés à JavaScript, tandis que de nombreux autres objets sont générés par du code JavaScript tiers.
Tutoriel recommandé : "Tutoriel sur les bases de Javascript"
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!