Function オブジェクト
更新 : 2007 年 11 月
新しい関数を作成します。
function Function( [[param1 : String, [..., paramN : String,]] body : String ])
引数
param1, ..., paramN
省略可能です。関数のパラメータ。各パラメータには、型の注釈を指定できます。最後のパラメータは parameterarray となる場合があります。この配列は、3 つのピリオド (...)、パラメータ配列名、および型指定された配列の型の注釈で表されます。body
省略可能です。関数が呼び出されたときに実行する JScript コード ブロックを記述した文字列。
解説
Function コンストラクタを使用すると、実行時にスクリプトで関数を作成できます。Function コンストラクタに渡されるパラメータは、最後のパラメータを除いて、新しい関数のパラメータとして使用されます。コンストラクタに渡される最後のパラメータは、関数本体のコードとして解釈されます。
JScript は、Function コンストラクタが呼びされたときに、コンストラクタで作成されるオブジェクトをコンパイルします。したがって、実行時に関数を柔軟に再定義できますが、コードの実行速度は低下します。スクリプトの速度低下を避けるには、Function コンストラクタをできるだけ使用しないようにしてください。
評価する関数を呼び出すときには、必要な引数とかっこを記述してください。かっこを指定せずに関数を呼び出すと、その関数の Function オブジェクトが返されます。関数のテキストは、Function オブジェクトの toString メソッドを使用して取得できます。
メモ : |
---|
Function オブジェクトがサポートされるのは JScript だけです。このオブジェクトは .NET Framework 型から派生していないため、他の共通言語仕様 (CLS: Common Language Specification) 言語では使用できません。したがって、CLS 準拠のメソッドのパラメータと戻り値の型を型の注釈で指定する場合は、Function オブジェクトではなく System.EventHandler 型を使用してください。ただし、パラメータや戻り値の型以外の識別子では、Function オブジェクトを使用して型の注釈を指定できます。詳細については、「CLS 準拠コードの記述」を参照してください。 |
使用例
次のコードは、Function オブジェクトの使用例です。
var add : Function = new Function("x", "y", "return(x+y)");
print(add(2, 3));
このコードの出力は、次のようになります。
5