忍者ブログ

ぼんぷろぐ

InDesign、イラレ、フォトショ(CS6 Win)の勉強中。。。(旧まとめいみブログ)

[未選択]
JavaScriptのクロージャについて勉強したので自分なりにまとめた

グローバル変数がglobalオブジェクトのメンバであるように、ローカル変数もそのスコープに対応した『オブジェクトのようなもの』のメンバである


ローカルスコープ内で関数を定義すると、その関数は、そのスコープの『オブジェクトのようなもの』への参照を持ち、名前解決に使う


ローカルスコープが終了しても『オブジェクトのようなもの』は、それを参照している関数が存在する限り消滅しない これがJavaScriptのクロージャの原理


『オブジェクトのようなもの』はthisで自身を参照できないという点でオブジェクトとは異なる


ただしFunctionコンストラクタで生成した関数だけは『オブジェクトのようなもの』への参照を持たない(*1)


*1 この仕様はExtendScriptでは守られてないっぽい
PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

プロフィール

あるふぁ(仮)
InDesignで新聞組版のようなことをしてる人です。

InDesignスクリプトについて

つくったInDesignスクリプトのまとめ

twitter

フリーエリア