Потому что свойство window.name
Для чистоты же эксперимента:
(function(){
function whatIsName() {
alert(name);
}
whatIsName();
var name = "Вася";
})();
Или же поменять имя переменной на другое:
function whatIsName() {
alert(_name);
}
whatIsName();
var _name = "Вася";
И да, тут на сайте при повторном просмотре окно остается прежним, так что результат будет уже другим.