Chaque variable globale en javascript est une propriété de « fenêtre »Accéder à toutes les variables locales
Apparemment, tous variable locale (aswell comme arguments) sont stockés en tant que propriétés du 'Call object' (voir le chapitre 4.6.2 de chaque fonction. Persumably existant seulement pour la durée de vie de ladite fonction.
Fondamentalement, je veux être en mesure de faire
for (var obj in CallObject) { // }
Puis-je accéder audit objet contenant des variables locales et si oui, comment? est Sinon il y a une autre façon d'accéder à tous les local va variables d'une fonction.
[Modifier]
Il se trouve que les arguments est une propriété de l'objet d'activation d'une fonction. Cela doit être stocké quelque part.
« L'objet d'activation est purement un mécanisme de spécification . Il est impossible un programme ECMAScript pour accéder à l'objet d'activation. »
Éteint les états ECMAScript auxquels je n'ai pas accès. Qu'en est-il de l'accès aux propriétés des arguments et de l'enchaînement aux variables locales?
Il n'y a pas moyen de le faire en Javascript. De plus, les globals ne sont pas (proprement parlant) toujours des propriétés de "window" - cela dépend de l'endroit où l'interpréteur s'exécute. Dans un programme Javascript côté serveur fonctionnant sous V8 ou Rhino, par exemple, il n'y a pas de "fenêtre" mais il y a un objet "contexte global" qui joue le même rôle (aussi loin que votre question va). – Pointy