前 の記事
[JavaScript] 猿でもわかるクロージャ超入門 5 クロージャを作る

次の記事
[Javascript] 関数宣言の落とし穴 function foo ( ){..} と var foo = function ( ) {..} は動作が違うので要注意!

クロージャとは

クロージャは、言葉で説明するのが大変難しい概念です。

あなたは、自転車の乗り方を、身振り手振りなしで口だけで説明できるでしょうか?
あるいは螺旋(らせん)の形を、文章で説明できるでしょうか?

きっと難しいと思うでしょう。

しかし、自転車に乗ることは誰でもできますし、針金1本あれば、螺旋(らせん)の形を作ることはできるでしょう。

「クロージャ」もこれと同じです。
だから、Wikipediaのこんな解説を見ても落ち込まないでください。
クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決する関数のことである。
理解できないですよね?
私もそうでした。
クロージャを既に知っている人にしか、この文章は理解できないでしょう。

クロージャを作るのは難しくない

しかし、説明するのは難しくても、作るのは意外と簡単。それがクロージャです。
手元にウェブブラザさえあれば、誰でもクロージャは作れます。
準備はいいですか?
これから一緒にクロージャを作りましょう!

目次

参考になったページ


クロージャを理解する手がかりになったページ


クロージャを理解した後で読むと目からウロコなページ

追記①
はてなブックマークでたくさんブックマークいただいたので、さらにわかりやすくなるように書き直しました。
「ここが分かりにくい」などありましたら、コメントいただければ幸いです。

ちなみに「螺旋」を文章で説明すると、
「回転しながら回転面に垂直成分のある方向へ上昇する曲線」(Wikipeidaより)
だそうです。www

(2009.12.4)
追記②
Perlのクロージャ入門書きました。
[Perl]猿でもわかるクロージャ超入門
カテゴリ

トラックバック(1)

このブログ記事を参照しているブログ一覧: [JavaScript] 猿でもわかるクロージャ超入門 まとめ

このブログ記事に対するトラックバックURL: http://dqn.sakusakutto.jp/mt/mt-tb.cgi/252

» [JavaScript]クロージャーとはなんぞや(あさのののーと)~のトラックバック

お恥ずかしながら、知らんかった。 と言うより、クロージャーとなっているものを見たり作ったりはしていたけど、「どれがクロージャーでしょうか」と聞かれるとモ... 続きを読む

コメントする