JavaScript – 無名関数について説明してみる


740707_30155239


JavaScriptでしばしば見かける
function( ){・・・処理・・・}
というコード。
関数には当然名前はあると思っている方には、理解不明なコードに見えます。
実は、これは「無名関数」と呼びます。
これを理解するために、JavaScriptの関数定義の方法について考えてみます。

まずは普通のやり方

では、無名関数を使ったやり方

無名関数にて処理を記述して、printfuncという変数に代入しています。
このときprintfuncは関数と同様の動きをします。当然、括弧「()」を付けると処理が実行されます。

では、printfuncの中身である「function (){ alert(“hello world!”); }」に括弧「()」を付けるとどうなるか? 実はこれも同じ動きをします。

function (){..}は括弧「()」で囲まれていますが、これはfunction (){..}を式として評価されるようにするために必要です。
※式とはそれ自身が「値を持つもの」「値を返すもの」「値を変数に代入するもの」と考えておけば良いかと。
例)100、1+1、x = 100、y = a + b
ということで、無名関数を使った構文「(function (){..}) ();」を使うとわざわざ関数を定義しなくても実行が可能となります。

シェアして頂けると嬉しいです

















チャーム本店



価格.com ブロードバンド

価格.com 自動車保険









■コメントはお気軽にどうぞ