[JavaScript] 猿でもわかるクロージャ超入門 まとめ

| カテゴリ:

クロージャとは

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

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

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

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

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

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

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

目次

参考になったページ


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


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

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

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

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

トラックバック(3)

トラックバックURL: http://dqn.sakusakutto.jp/mt/mt-tb.cgi/252

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

function climb() { return ascent; } - クロージャ (2010年6月21日 01:52)

今回はmixiアプリ制作中に使用した技術でまだ理解が足りないクロージャについてまとめる。 クロージャはどういった時に使うのか? 具体的には複数の<a>タグのonclickハンドラにそれぞれ異なる引数の関数を実行させたかった。 for (var i=0; i<10; i++) { $("#hoge"+i).click(function() { func(i); }... 続きを読む

チートなニートにヘビ漂流記 - javascriptで画像のプリロード (2010年10月18日 15:29)

新しくサイトを作ったが、サーバーをレンタルする余裕が無かったので、自宅に転がっていたマシンにCentOSを入れて自鯖デビューしてみた。 そこでオサレなトップページを作ってみたけど、デスクトップマシンのなのにUSBインターフェイスも無いというオンボロな為、画像いっぱいなおしゃれサイトはちょっと荷が重いように見えた。 なので最近のGoogleのように、ページローディング後にjavascriptで画像を読み込み、タイマーをセットして、あとから画像をフェードインするようにした。こうすれば遅延も気にならないし... 続きを読む

コメントする

人気記事

このブログ記事について

最近の人気記事