var命令を使わずに変数を宣言するとすべてグローバル変数と見なされる
以下はvar命令を使わずに変数を宣言した例です。
scope='Global Variable'; function getValue(){ scope='Local Variable'; return scope; } document.writeln(getValue()); document.writeln(scope);
結果は
Local Variable Local Variable
関数の外で宣言された変数が、関数の中で宣言された変数に上書きされています。
JavaScriptではvar命令を使わずに宣言された変数はすべてグローバル変数と見なされるため、ローカル変数を定義するには必ずvar命令を使用しなければなりません。
まぁ、「グローバル変数にはvar命令をつけず、ローカル変数にはvar命令をつける」とかやると混乱を招くだけですので「変数宣言はvar命令でおこなう」癖をつけておけば問題ないようです。