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