var currentScope = 0;
(function(){
var currentScope = 1, one= 'scope1';
alert(currentScope);
(function(){
var currentScope = 2, two= 'scope2';
alert(currentScope);
alert(one + two);
})();
})();
现在,当我在 jsbin 中执行此代码时,我会收到警报1 then 2
,然后scope 1 and scope 2
. 但我开始知道在 中ExecutionContext
,它实际上会首先调用内部函数,然后查找outer variable
then 等等。
- 谁能告诉我
ExecutionContext Object
在我的功能环境中会是什么样子。 - 如果我错了,请纠正我,在浏览器中它会首先显示 currentScope 1,然后是 CurrentScope 2。但实际上在解释器的幕后,反之亦然。