Jump to:

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

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

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

さまざまな関数

An anonymous function is a function without a function name:

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

 

A named function is a function with a function name:

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

An inner function is a function inside another function (square in this case). An outer function is a function containing a function (addSquares in this case):

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);
};

A recursive function is a function that calls itself. See recursion.

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");
})();

If you'd like to know more about IIFEs, check out the following page on Wikipedia : Immediately Invoked Function Expression

詳細情報

技術リファレンス

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

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