クロージャ : JavaScript
クロージャの覚書。
クロージャについてのメモ。
下記の記事のソースコードを利用している。
出典:クロージャとは - はてなダイアリー
function makeCounter () {
var count = 0; // --- (1)
return f; // --(2)
function f () {
return count++;
}
}
var counter = makeCounter(); // makeCounterのcountが0に設定 ---(1), counterに関数fが帰る ---(2)
document.writeln(counter()); // makeCounterのcountに保持された値:0を返して1増やす - MakeCounterのcountは1へ
document.writeln(counter()); // makeCounterのcountに保持された値:1を返して1増やす - MakeCounterのcountは2へ
document.writeln(counter()); // makeCounterのcountに保持された値:2を返して1増やす - MakeCounterのcountは3へ
document.writeln(counter()); // makeCounterのcountに保持された値:3を返して1増やす - MakeCounterのcountは4へ
関数makeCounterの処理が終了後も、関数fは自信が定義されたコンテキスト(つまりmakeCounterのコンテキストcountへアクセスできる。
コメントはまだありません。
コメントの投稿
改行と段落タグは自動で挿入されます。メールアドレスは表示されません。
利用可能な HTML タグ :
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite="">
<cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>