I wrote a small code to see how the call stack and scopes work in steps:
function foo(){
debugger;
bar();
function bar(){
thi();
function thi(){
var y = 20;
}
}
}
foo();
Here is the screen from the Firefox debugger:
The question is what are the scopes called 'block? If we look into them, we can see that these are the scopes of 'bar' and 'thi' functions. But, why are they signed with the word "block"?