function ステートメントは新しい関数を定義する唯一の方法ではなく、演算子を使用した Function() コンストラクターを使用して動的に関数を定義できます。
注: これはオブジェクト指向プログラミングの用語です。初めての方は少し慣れないかもしれませんが、問題ありません。
文法
次は、new 演算子を使用して Function() を使用してコンストラクターを作成するための構文です。
<script type="text/javascript"> <!-- var variablename = new Function(Arg1, Arg2..., "Function Body"); //--> </script>
Function() 関数コンストラクターは、任意の数の文字列パラメーターを期待します。最後のパラメータは関数本体です。これには、セミコロンで区切られた任意の JavaScript ステートメントを含めることができます。
Function() コンストラクトはパラメーターを渡さないことに注意してください。名前を指定して関数を作成します。 Function() コンストラクターを使用して作成された名前のない関数は、匿名関数と呼ばれます。
例:
以下は関数の作成例です:
<script type="text/javascript"> <!-- var func = new Function("x", "y", "return x*y;"); //--> </script>
このコード行は、定義された関数の構文とほぼ同等の新しい関数を作成します。
<script type="text/javascript"> <!-- function f(x, y){ return x*y; } //--> </script>
これは、上記の関数を次のように呼び出すことができることを意味します:
<script type="text/javascript"> <!-- func(10,20); // This will produce 200 //--> </script>