2009年5月26日火曜日

JavaScrit スコープチェイン

JavaScriptクロージャを完全理解!スコープチェインを知る
を参考に勉強

ローカル変数を宣言した場合、JavaScript内部では
管理用のハッシュテーブル(変数オブジェクトと呼ぶ)
に格納される。
グローバル変数の場合はwindowオブジェクトのプロパティに格納される
例えば

var hoge = 100;
alert(window.hoge);

という風にwindow.hogeでグローバル変数にアクセスできる

以下例ではグローバル変数にf()からアクセスできる
実行時、順にf()内の変数オブジェクトを検索しaはないので
次にグローバル変数を探し、アクセスしている。(関数外の変数にアクセスできる)
この変数の探索をスコープチェインという

var a = 0;
function f() {
alert(a);
}
f(); // 0が表示される

0 件のコメント: