Existe-t-il une méthode dans laquelle je peux parcourir tous les objets qui existent dans une instance de JavaScript, quel que soit le moteur JavaScript utilisé? Je ne suis pas intéressé par itération à travers le DOM d'une page Web. Ce que je veux savoir, c'est s'il y a moyen de parcourir tous les objets de la bibliothèque standard (Array, Math, Date, etc.) ainsi que toutes les bibliothèques supplémentaires qui peuvent être spécifiques aux différents navigateurs.Existe-t-il un moyen d'obtenir tous les objets de bibliothèque dans une instance de JS?
Répondre
Non ... et oui. L'objet window
est l'objet global dans un navigateur. Il contient tous les membres natifs de la portée globale, ainsi que toutes les fonctions et propriétés fournies pour le DOM.
Les objets natifs tels que Math, Array et Date sont des membres non énumérables de l'objet global, ce qui signifie que vous ne pouvez pas itérer sur eux à l'aide d'une boucle for...in
. Cela couvre la partie "non" — il n'y a aucun moyen d'obtenir ces objets par itération dans de nombreux navigateurs. Toutefois, avec les implémentations ECMAScript 5th Edition (IE 9, Chrome 7, Firefox 4), vous pouvez utiliser Object.getOwnPropertyNames()
pour obtenir un tableau de noms de propriétés pour un objet spécifique. Par exemple,
console.log(Object.getOwnPropertNames(window));
vous donnera une liste de tous les membres de l'objet window
global, y compris les mathématiques, Array, date, etc.
- 1. Un moyen unique d'identifier une instance de page dans HttpContext
- 2. Ajout d'un code js minifié dans une autre bibliothèque js
- 3. Cibler tous les objets dans une syntaxe de tableau
- 4. Une instance de classe lance tous les contrôleurs
- 5. Liste de tous les objets dans mon conteneur Unity DI
- 6. supprimer tous les objets de réseau NSMutable
- 7. Un moyen d'effacer tous les champs WithEvents via une commande?
- 8. Déplacer tous les objets de mon tableau?
- 9. Script tous les objets dans une base de données dans une table
- 10. Énumération de tous les objets d'implémentation IDispatch sur une machine
- 11. Emplacement de la bibliothèque JS (hôte)
- 12. Recherche de tous les objets de type T dans une arborescence C#
- 13. Sélection de tous les objets enfants dans LINQ
- 14. java - sélectionner tous les objets dans un cadre
- 15. Trouver tous les objets avec l'association brisée
- 16. js objets et propriétés
- 17. Convertir? Objets de domaine aux objets DTO - Impossible de créer une instance d'une interface
- 18. java, balancer, awt, enlever le focus de tous les objets
- 19. Trouver tous les objets de base de données par nom?
- 20. JS: objets liés
- 21. Grails: supprime tous les objets associés
- 22. Besoin d'une liste complète de tous les objets natifs
- 23. Existe-t-il un moyen de supprimer par programme tous les objets partagés locaux à partir de Flash?
- 24. Js RegExp tous les autres personnages
- 25. Un moyen facile d'enregistrer les données d'audit de base sur les objets de domaine?
- 26. Nettoyer les rôles de document dans une bibliothèque de documents
- 27. Liste de tous les objets d'une certaine classe
- 28. Activerecord - callback après enregistrement de tous les objets associés
- 29. Existe-t-il un moyen de parcourir tous les types dans un espace de noms dans une boucle foreach?
- 30. Inclure la bibliothèque JS dans Windows
Soulignant l'évidence ici, mais de se référer à l'utilisation globale de l'objet 'this' dans la portée globale (puisque en dehors du contexte d'un navigateur il n'y a pas de' fenêtre') – Zecc