Javascriptのスコープ(有効範囲)

===== [var 使用時] =====

var data = "Hello World!!";

(function(){
	var data = "hoge";
})();

console.log(data);

結果 : Hello World!!
========================



===== [var 未使用時] =====

var data = "Hello World!!";

(function(){
	data = "hoge";
})();

console.log(data);

結果 : hoge
========================



===== [グローバル変数コメントアウト時](ちなみにdataはwindowの変数らしい) =====

//var data = "Hello World!!";

(function(){
	var data = "hoge";
})();

console.log(data);

結果 : error(data is not defined)
================================================================================

「var」はローカル変数を生成してくれるキーワード(予約語?)。
普通のプログラム言語だと、関数の中に変数を定義すれば
自然とその変数はローカル変数になるけど、Javascriptの場合は自分で
定義しないといけないみたい。またvar をつけるご関数外からは
その変数にアクセスできない。


参考サイト:

http://archiva.jp/web/javascript/variable_and_scope.html
http://d.hatena.ne.jp/tetsuya_odaka/20090703/1246569993