→
式の中で関数を定義する。
| 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 からはアロー関数式も使えます。
関数宣言。