アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは
jQuery.fileupload.jsのソースコードを覗いていたのですが
いきなり下記のような書き方でコードが表示されていたのですが
意味が分からず悩んでいます。

=======================

(function (factory) {
'use strict';

    :
} (function ($, tmpl, loadImage) {
    :
    :
}));
=======================

最初は無名関数が複数並んでいるのかと思い下記のように修正してみましたが
エラーが発生してしまいました。
=======================
(function (factory) {
'use strict';

    :
});
(function ($, tmpl, loadImage) {
    :
    :
});
=======================
調べてみても上記の書き方をしているサイトが見つからず悩んでます。
ご存知の方がいたら無知な自分に教えて頂けますでしょうか。
よろしくお願いいたします。

A 回答 (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)」
という処理のようです。
    • good
    • 0
この回答へのお礼

返事が遅れてすみません。

回答して頂きありがとうございます。

即時関数と教えて頂いていたのですが、呼び出す順番が分かりませんでしたが
Ogre7077さんが細かく説明して頂いたことではっきりわかりました!

大変ありがとうございました。

お礼日時:2014/04/10 16:30

http://blog.tojiru.net/article/197270788.html
即時関数ですかね。上記をご参照ください。
    • good
    • 0
この回答へのお礼

即時関数というのがあるのですね。
初めて知りました。
ありがとうございます!!

お礼日時:2014/03/31 16:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!