Warum wird die äußere Bereichsvariable nicht richtig an die innere Variable gebunden?

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

Warum wird undefined anstelle von 23 zurückgegeben?

Sollte das nicht var x = x; Teil ausreichend eindeutig sein, weil die rechte Seite implizit auf das x im äußeren Bereich verweist?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage