関数#カンスウ#

3852 ワード


n.関数


関数は、コードブロック内の文を実行ユニットとして作成します.
関数は入出力を受信し、入力を受信する変数をパラメータ(parameter)、入力をパラメータ(parament)、出力を戻り値(returnvalue)と呼ぶ.
関数を作成すると複数回呼び出すことができるため、コードの再利用が容易になります.
また,自分の役割をうまく説明できる名前を自分につけると,コードの可読性が向上する.

関数の定義


関数宣言

function plus(x, y) {
	return x+y;
}
関数宣言の構造は次のとおりです.関数名は省略できません.
関数宣言時に、関数名と同じ識別子が生成され、その変数に関数が割り当てられます.

関数式

var multiply = function(a, b) {
	return a*b;
}
JavaScriptの関数は1レベルのオブジェクトであり、変数に割り当てることができます.
関数名は省略できます.

ファンクションジェネレータ関数


Functionオブジェクトのコンストラクション関数を使用して関数を作成できます.

矢印関数(ES 6)

const subtract = (x, y) => x-y;
functionキーワードの代わりに矢印で簡単に関数を宣言できます.

関数呼び出し


関数の識別子と関数呼び出し演算子を使用して、関数を呼び出すことができます.
必要に応じて、必要なパラメータを含む関数呼び出し演算子()で関数を呼び出すことができます.
関数を呼び出すと、現在の実行フローが中断され、実行フローが呼び出された関数に移行します.
この場合、パラメータは引数の順に割り当てられ、関数内の文も実行されます.

パラメータとパラメータ


外部から関数を実行するために必要な値を取得する必要がある場合は、パラメータ(パラメータ)によってパラメータが渡されます.
パラメータは、関数を呼び出すときに指定され、数とタイプは制限されません.
パラメータにパラメータが指定されていない場合は、定義されていない値があります.
指定したパラメータがパラメータより多い場合は、残りのパラメータは無視されます.
パラメータオブジェクトに割り当てられます.

返却する


returnキーを使用して、関数の外部に値を返すことができます.
戻り文は省略できますが、関数はundefinedを返します.

さまざまな形式の関数


インスタント実行関数


関数定義と同時に呼び出される関数をインスタント実行関数,IIFE(ImmediallyInvoked Function Expression)と呼ぶ.
(function(a,b){
	return a/b;
}(4,2))
関数ライブラリとしてグループ演算子を使用して評価し、呼び出し演算子を使用して直接実行します.

コールバック関数


関数のパラメータを介して他の関数の内部に渡される関数をコールバック関数と呼ぶ.
このとき,コールバック関数を受け入れる外部関数を高次関数,Higher-Older Functionと呼ぶ.

純関数、Pure Function


外部状態に依存せずに変化しない関数を純関数と呼ぶ.
プログラミングで浮動小数点効果を最小限に抑えるために,非純粋関数の使用を避ける.