Почему внешняя переменная области видимости не связана должным образом с внутренней переменной?

(function(){
  var x = 23;
  return function(){
    var x = x;
    return x;
  }
}())();

Почему он возвращает неопределенное значение вместо 23?

Не должен ли var x = x; часть будет достаточно однозначной, потому что правая часть неявно ссылается на x во внешней области видимости?

Ответы на вопрос(4)

Ваш ответ на вопрос