→
式の中で関数を定義する。
myFunc | ¶ |
---|---|
name | 省略可。関数名。name は関数本体のみのローカルです。
省略した場合は、関数は無名になります。 |
paramn | 関数に渡される引数の名前です。 |
処理 | 関数の本体である文。 |
関数式は関数宣言とよく似ており、ほとんど同じ書式でもあります(詳しくは function 文を参照してください)。
関数式と関数宣言の主な相違点は、関数名です。関数式では、無名関数を生成するために、関数名を省略できます。関数式は、定義するとすぐに実行する IIFE(即時実行関数)として使用できます。詳細については、関数の章を参照してください。
無名な関数:
var x = function(y) { return y * y; }; D=x(10); //=100
名前付き関数:
let math = { 'factit': function Func(n) { alert(n); if (n <= 1) { return 1; } return n * Func(n - 1); } }; D=math.factit(3); //=6。表示:3、2、1。
関数式の巻き上げ:
//コンソールにて console.log(notHoisted) // undefined // 変数名は巻き上げが行われますが、定義は行われません。そのため undefined になります。 notHoisted(); // TypeError: notHoisted is not a function var notHoisted = function() { console.log('bar'); };
¶
ES2015 からはアロー関数式も使えます。
関数宣言。