デバッグ中、無名関数の場合、クロージャーはどこにありますか?
非匿名関数の場合、「機能範囲」に表示されるようです。例:
function outer(x){
var temp = 0;
return function inner(){
alert(++x);
};
}
var out = outer(3);
out();
debugger;
out = outer(5);
out();
この場合、"out" のウォッチ式にClosure_in_functionalscopeが表示されます。
ただし、以下に示すように匿名関数を使用すると:
function outer(x){
var temp = 0;
return function (){
alert(++x);
};
}
outer(3)();
debugger;
outer(5)();
この場合、無名関数がウォッチ式のクロージャーとして表示されません。無名関数の場合、どのオブジェクトがクロージャを格納しますか?