JavaScript: haga referencia a un ámbito local de funciones como un objeto

Cuando llamo a una función, se erige un ámbito local para esa llamada. ¿Hay alguna manera de hacer referencia directa a ese alcance como un objeto? Al igual que window es una referencia para el objeto de alcance global.

Ejemplo:

function test(foo){
    var bar=1
    //Now, can I access the object containing foo, bar, arguments and anything
    //else within the local scope like this:
    magicIdentifier.bar
}

Alternativamente, ¿alguien tiene una lista completa de lo que está en el ámbito local además de las variables personalizadas?

Antecedentes: estoy tratando de llegar a una forma de cambiar completamente al alcance global desde una llamada de función, la declaración with es una broma, la llamada funciona un poco mejor, pero aún se rompe para cualquier cosa declarada en el alcance de la función pero no en alcance global, por lo tanto, declararía estos pocos casos en alcance global, pero eso requiere que sepa cuáles son. La función IE execScript hace un cambio completo, pero eso solo resuelve el problema para IE.

Nota: Para cualquiera que cargue JavaScript dinámicamente,setTimeout(code,1) es un truco simple y efectivo para lograr un alcance global, pero no se ejecutará de inmediato.

Respuestas a la pregunta(6)

Su respuesta a la pregunta