javascriptのスコープ
グローバルスコープ
javascriptのグローバルスコープはどこからでもアクセスできるみたいで、たとえ関数の中であっても外からアクセス可能みたいです。
hoge();の結果は → tagutiになります。
ローカルスコープ
これが本当に理解に苦しみました。関数の中でvar sを宣言すると変数sはローカルスコープになり、外のvar s = “taguti”が無効化されたかのようになります。
関数内でvar sを宣言すると外のvar s = “taguti”は無視されます。
hoge2()の結果は
undifined
fkoji
になります。
最初のconsole.log(s);の部分は外の変数が無視されているので先にconsole.log(s)としてもundifinedになります。(図をみると少しおかしいですが)
かなりややこしいですね。ローカルで同じ変数を宣言するとグローバル変数ではなくなるみたいな。
頭が混乱しそうです。
コメント