Когда вы используете delcare var a = 20;
в четвертой строке выше, вы переделываете переменную, которая уже находится в области видимости, и присваиваете ей новое значение.Таким образом, новое значение - это то, что вы получаете.Если вы удалите это объявление, имя a
будет ссылаться на объявление переменной во внешней области видимости, и вы получите 10.