当我调用一个函数时,会为该调用建立一个本地作用域。有没有办法直接将该范围作为对象引用?就像 window 是全局作用域对象的引用一样。
例子:
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)
是一个实现全局作用域的简单有效的 hack,但它不会立即执行。