これ何て呼びますか

ブックマークレットでjavascriptを記載するときには以下の形を基本としましょう
(function(){処理内容})()

と記載があるのですが、functionの前の"("と、それに対応する")"はvoid等が省略されていると解釈できますが、最後の()は何なのでしょうか?

A 回答 (2件)

こんにちは


匿名関数の即時実行の構文ですね。

以下の様な関数が定義されていたとして、
 function hoge(){ alert("OK"); }
ここでは、関数が定義されるだけで実行はされませんよね?

実行するには、
 hoge();
とする必要があります。
 hoge;
だけでは実行されないことはご存知と思います。


上記のhoge部分を匿名関数に置き換えると、ご質問のような形式になります。
 function(){ alert("OK"); }
だけでは関数を意味するだけで実行されませんので、
 (function(){ alert("OK"); })();
のようにすることで、匿名関数がそのまま実行されることにます。

繰り返し利用のない関数(=名前を付ける必要がない)を1度だけ実行したいような場合に用いられるようです。
    • good
    • 0

定義した関数を即呼び出ししています。


それがないと定義だけで実行はされません。
    • good
    • 0

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