Cada variable global en javascript es una propiedad de 'ventana'acceso todas las variables locales
Al parecer todo variable local (aswell como argumentos) se almacenan como propiedades del 'Call object' (Véase el capítulo 4.6.2 de cada función. Persumably única existente para el tiempo de vida de dicha función.
Básicamente quiero ser capaz de hacer
for (var obj in CallObject) { // }
¿Puedo acceder a dicho objeto que contiene las variables locales y si es así, ¿cómo? como alternativa ¿hay alguna otra manera de acceder a toda va local riables de una función.
[Editar]
Resulta que los argumentos es una propiedad del objeto de activación de una función. Esto tiene que ser almacenado en alguna parte.
"El objeto de activación es puramente un mecanismo especificación. Es imposible para un programa de ECMAScript para acceder al objeto de activación."
Aparece ECMAScript indica que no puedo acceder a él.
¿Qué ocurre al acceder a las propiedades de los argumentos y de alguna manera encadenar a las variables locales?
No hay forma de hacerlo en Javascript. Además, los globales no son (estrictamente hablando) siempre propiedades de "ventana", depende de dónde se ejecuta el intérprete. En un programa de JavaScript del lado del servidor que se ejecuta en V8 o Rhino, por ejemplo, no hay "ventana", pero hay un objeto de "contexto global" que desempeña el mismo rol (en lo que respecta a su pregunta). – Pointy