- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:無名関数?)
無名関数って何?コードを覗いてみたけど、意味が分からない
このQ&Aのポイント
- 無名関数とは、名前のない関数のことです。jQuery.fileupload.jsのソースコードを見ていたところ、無名関数が使われていましたが、その書き方について分からず困っています。
- 無名関数は、関数の定義と同時にその関数を呼び出すことができる特徴があります。無名関数の書き方には、一つ目の方法として(function () { /* 関数の中身 */ })()という形式があります。
- 質問のコードの修正でエラーが発生しているのは、無名関数の呼び出しを行う()が最後にないためです。正しい書き方は、(function () { /* 関数の中身 */ })()です。無名関数は、特定の処理をまとめて実行したい場合などに使用することができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
難解なプログラムは、一部分を変数化することによって理解しやすくなります。 (function (factory) {'use strict'; ...} (function ($, tmpl, loadImage) {...})); 即時関数を変数化して var objA = function ($, tmpl, loadImage) {...}; (function (factory) {'use strict'; ...} (objA)); さらに変数化して var objA = function ($, tmpl, loadImage) {...}; var objB = function (factory) {'use strict'; ...}; (objB (objA)); あまり意味のない括弧を外して var objA = function ($, tmpl, loadImage) {...}; var objB = function (factory) {'use strict'; ...}; objB(objA); というわけで、 「関数オブジェクト(objB)を実行する。引数は関数オブジェクト(objA)」 という処理のようです。
その他の回答 (1)
- ok-kaneto
- ベストアンサー率39% (1798/4531)
回答No.1
http://blog.tojiru.net/article/197270788.html 即時関数ですかね。上記をご参照ください。
質問者
お礼
即時関数というのがあるのですね。 初めて知りました。 ありがとうございます!!
お礼
返事が遅れてすみません。 回答して頂きありがとうございます。 即時関数と教えて頂いていたのですが、呼び出す順番が分かりませんでしたが Ogre7077さんが細かく説明して頂いたことではっきりわかりました! 大変ありがとうございました。