The Study of JavaScript 13 – Local variable ローカル変数


cach

13 Local variable ローカル変数


今回は関数についての補足です。実は関数の中で宣言した変数には、超重要ルールがあります。
今回はこのルールについてやっていきたいと思います。

今回のポイントは下のとおりです。

  • 関数の中で宣言した関数はその関数の中でしか使用できない
  • 関数もデータ型なので変数に格納することができる
  • 変数に関数を入れる場合には関数名を省略できる

実際に動かしてみて変数の値を確認してみましょう。
aho関数の中で、msgという変数を宣言してなにか入れて見ましょう。

  • index.html

  • 出力結果

    console01

    aho太郎と表示されました。これはそのままで何の変化もないのですが、関数内で定義した変数(msg)は「ローカル変数」というもので、その関数の中でしか生きられません。なので関数の外からアクセスしようとするとエラーになります。試してみます。

  • index.html

    console01

    実行してみると、「msgは定義されてないよ」といわれてしまいます。このローカル変数のルールを知らないといろんなバグを引き起こすことになるので、気をつけておきましょう。

また、関数というのもデータ型の一つです。データ型ということは変数に入れることができます。下のように書きます。

  • index.html

    console01

    書き方が違うだけで、結果は同じです。変数に関数を入れる場合にはfunctionの後に書くはずの関数名を省略できます。これを無名関数や匿名関数と呼びます。あと注意することは変数に入れる場合は、式になるため、最後の}のあとにセミコロンが必要です。

以上、またみてね。


The Study of JavaScript 13 – Local variable ローカル変数」への1件のフィードバック

  1. At the beginning, I try to run the code with jsFiddle, however, the result sometimes will different. This s an example about setTimeout Variables are Executed in the Global Scope , the output of console.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です