QA@IT

JavaScriptの変数のスコープ

4183 PV
//変数aのスコープが及ぶ範囲は、全体。
var a;
function c(){
    //変数bのスコープが及ぶ範囲は、関数cの中だけ。
    var b;
}

変数のスコープの及ぶ範囲が、明確に分からなくて質問しました。
上記のコードで当たってますでしょうか?

回答

変数a,bのスコープは、コメントの通りであっています。
仮にfunction c内に変数aをvarで宣言しても、別の変数として扱われます。

おそらくぴったりと思われる解説記事を見つけたので、参考にしてください。
http://www.atmarkit.co.jp/fdotnet/ajaxjs/ajaxjs03/ajaxjs03_02.html

なお記事内でも言及されていますが、変数を使用する際には必ずvarで宣言を行ってください。

編集 履歴 (0)
  • 説明ありがとうございます。
    ちゃんと、理解できました。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。