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命令でおこなう」癖をつけておけば問題ないようです。