たとえば、JavaScriptでレキシカルスコープがどのように行われているかについて、私はちょっと混乱しています。
function outer(){
a = 5;
function inner(){
console.log(a);
var a = 10; //hoisting
}
inner();
}
outer();
a
5 行目で再定義すると、 が出力されますundefined
。何故ですか?で見つけることができるにouter.VO
もかかわらず、インタプリタがトラバースアップしてチェックしないのはなぜですか?定義される前に使用されていますか?a
inner.VO