javascriptのローカルスコープとグローバルスコープ

javascriptのスコープ

グローバルスコープ

javascript スコープ

javascriptのグローバルスコープはどこからでもアクセスできるみたいで、たとえ関数の中であっても外からアクセス可能みたいです。

hoge();の結果は → tagutiになります。

ローカルスコープ

これが本当に理解に苦しみました。関数の中でvar sを宣言すると変数sはローカルスコープになり、外のvar s = “taguti”が無効化されたかのようになります。

javascript2

関数内でvar sを宣言すると外のvar s = “taguti”は無視されます。

hoge2()の結果は

undifined

fkoji

になります。

最初のconsole.log(s);の部分は外の変数が無視されているので先にconsole.log(s)としてもundifinedになります。(図をみると少しおかしいですが)

かなりややこしいですね。ローカルで同じ変数を宣言するとグローバル変数ではなくなるみたいな。

頭が混乱しそうです。

 
  • このエントリーをはてなブックマークに追加
     

SNSでもご購読できます。

コメントを残す

*

CAPTCHA