- ベストアンサー
無名関数がいまいち分かりません!
コンピュータのプログラムに”無名関数”がありますが、自分で勝手に好きな芸能人の名前等を 英数字にして、入力しても動きました^^、 ”無名関数”があるということは”無名関数”に属さない関数もあると思います。 ”無名関数”に対して逆の関数とはどんな関数のことをいうのでしょうか! 質問内容が、”ばかげている”と思われる方は無視してください よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
無名関数の逆、それは有名関数です。なんのことはない、名前のある関数です。 ここで考え方を変えて、 1、なぜ無名関数が必要なのか? 2、有名関数の欠点はなにか? を主点に考えて見てください。 関数は、呼ばれるために名前が付いていなければなりません。 もし、沢山の名前(関数)があったら探すのに面倒になりませんか(主に人が)? 例えば、同じような名前を付けたいのだけれど、どうしよう? そうだ! setValue1(), setValue2(), setvalue(), SetValue とかにしよう! そうすると、作った本人さえ、なんの目的で作ったのかわからなくなります。 ましてや、複数のプログラマが分割して共同で書いていた場合、名前の衝突は起こりえます。 これを「名前空間が汚れる」といったっけか? 一度しか呼ばれない関数に、わざわざ名前をつけるのも・・・ そ言うときは、 (function () { alert (123); }) (); とすれば、名前を付けずに実行できます。 例えば、1度しか呼ばれない関数だけど、他の関数(これも名前空間を汚さない)を何度も 呼び出す関数を書かなければならないとき。 (function () { function a (b) { return b + b; } function c (d) { return d * d; } alert (a(1)+c(2)); })(); でもこれは、無名関数の中で、名前を汚しています。この中の部分を共同作業で作っていたら? なやみはつきませんね。
お礼
ご回答ありがとうございます。 よ読んでみます。