概要
function
演算子は式の中で無名関数を定義します。
構文
function [name]([param1, param2, ..., paramN]) { statements }
引数
name
- 関数名。省略可。省略した場合、関数は無名関数として認識されます。The name is only local to the function body.
paramN
- 関数に渡される引数の名前です。関数は最大 255 の引数を持ち得ます。
statements
- 関数の本体を構成するステートメント
説明
関数式は関数宣言とよく似ており、同じ書式でもあります(※参照: function )
関数ステートメントと関数式との違いについては『関数と関数スコープ』をご覧下さい。
例
次の例では、引数の 2 乗を返す無名の関数を定義し、x
に割当てています。
var x = function(y) { return y * y; };
名前付き関数式
If you want to refer to the current function inside the function body, you need to create a named function expression. This name is then local only to the function body (scope). This also avoids using the non-standard arguments.callee property.
関数内でその関数自身を参照する必要がある場合は、名前付き関数式にする事でこれを実現できます。This name is then local only to the function body (scope). 非標準ではありますが、これは arguments.callee を用いても実現可能です。
var math = { 'factorial': function factorial(n) { if (n <= 1) return 1; return n * factorial(n - 1); } };