変数の有効範囲



変数の有効範囲
 JavaScriptで使用できる変数には「グローバル変数」と「ローカル変数」があります。以下に例を載せて説明します。左側の番号は説明のために付加したもので実際は必要ありません。

1:A = 123;
2:var B = 123;
3:function myFunc(){
4:C = 456;
5:var D = 789;
6:alert('Number is '+A+','+B+','+C+','+D);
7:}

8:alert('Number is '+A+','+B+','+C+','+D);

 変数A,Bともに「グローバル変数」で有効範囲は「1〜8」までになります。これはNetscapeでもExplorerでも同じです。次に変数CですがNetscapeでは「グローバル変数、Explorerでは「ローカル変数」になります。最後の変数DはNetscapeでもExplorerでも「ローカル変数」になります。
 ちょっと面倒くさく感じるようであれば「関数内でvar宣言したものがローカル変数」とすれば問題ないでしょう。
 また、グローバル変数、ローカル変数ともに現在のページ(フレーム)内でのみ有効です。複数ページに渡って使用する場合は「フレーム」、document.cookieに期限なしで書き込むという方法があります。document.cookieへの書き込みについてはdocument.cookieのページに「読み出し」「書き込み」スクリプトサンプルを用意してありますので参考にしてください。