ここへジャンプ:

この翻訳は不完全です。英語から この記事を翻訳 してください。

関数は他のコードや自分自身や、関数を参照する変数から呼ばれるコード断片です。関数が呼ばれる時、引数が関数の入力として渡され、また関数は出力を任意的に返却します。JavaScript における関数は オブジェクトでもあります。

関数名は関数宣言か関数表現で宣言される identifier です。関数名のスコープは、関数名が宣言か表現かで決まります。

さまざまな関数

無名関数とは関数名のない関数です:

function () {};
// or using the ECMAScript 2015 arrow notation
() => {};

 

名前付き関数とは関数名のある関数です:

function foo() {};
// or using the ECMAScript 2015 arrow notation
const foo = () => {};

内部関数 はほかの関数の中にある関数です (この例では square)。外部関数 は関数を含む関数です (この例では addSquares):

function addSquares(a,b) {
   function square(x) {
      return x * x;
   }
   return square(a) + square(b);
};
//Using ECMAScript 2015 arrow notation
const addSquares = (a,b) => {
   const square = x => x*x;
   return square(a) + square(b);
};

再帰的関数 は自分自身を呼び出す関数です。再帰を見てください。

function loop(x) {
   if (x >= 10)
      return;
   loop(x + 1);
};
//Using ECMAScript 2015 arrow notation
const loop = x => {
   if (x >= 10)
      return;
   loop(x + 1);
};

An Immediately Invoked Function Expressions (IIFE) is a function that is called directly after the function is loaded into the browser’s compiler. The way to identify an IIFE is by locating the extra left and right parenthesis at the end of the function’s declaration.

// Error (https://en.wikipedia.org/wiki/Immediately-invoked_function_expression)
/*
​function foo() { 
    console.log('Hello Foo'); 
}();
*/

(function foo() {
    console.log("Hello Foo");
}());

(function food() {
    console.log("Hello Food");
})();

IIFE の詳細を知るには、次の Wikipedia のページを確認してください: Immediately Invoked Function Expression

詳細情報

技術リファレンス

ドキュメントのタグと貢献者

 このページの貢献者: Uemmra3
 最終更新者: Uemmra3,