Когда я вызываю функцию, для этого вызова создается локальная область. Есть ли способ напрямую ссылаться на эту область как объект? Точно так же, как окно является ссылкой для объекта глобальной области видимости.
Пример:
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
}
В качестве альтернативы, у кого-нибудь есть полный список того, что находится в локальной области поверх пользовательских переменных?
Справочная информация. Я пытаюсь перейти к способу полного перехода в глобальную область действия из вызова функции, оператор with - это шутка, вызов работает немного лучше, но он все равно прерывается для всего, что объявлено в области функций но не в глобальном масштабе, поэтому я бы объявил эти несколько случаев в глобальном масштабе, но это требует, чтобы я знал, что это такое. IE-функция execScript делает полный сдвиг, но это только решает проблему для IE.
Примечание. Для любого пользователя, загружающего JavaScript динамически, setTimeout(code,1)
- это простой эффективный взлом для достижения глобальной области действия, но он не будет выполняться немедленно.