Написал небольшой код, чтобы по шагам посмотреть, как работает стек вызовов и скоупы:
function foo(){
debugger;
bar();
function bar(){
thi();
function thi(){
var y = 20;
}
}
}
foo();
А вот скрин дебагера:
Вопрос: что это за скоупы с названием block? Если в них заглянуть, то становится ясно, что это скоупы функций bar и thi. Но почему они подписанны block? Почему тогда область видимости функции foo подписана как foo? Спасибо!