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
ました。
ExecutionContext Object
誰かが私の関数環境でどのように見えるか教えてもらえますか?- 私が間違っている場合は訂正してください。ブラウザでは、最初にcurrentScope 1が表示され、次にCurrentScope 2が表示されます。しかし、実際にはインタプリタの舞台裏で、その逆が発生します。