関数はステートメントをカプセル化し、いつでもどこでも実行できるため、あらゆる言語の中核コンポーネントです。
ECMAScript の関数は、function キーワードを使用して宣言され、その後にパラメーターのセットが続き、その後に関数本体が続きます。
関数の基本的な構文は次のとおりです。
function functionName(arg0, arg1,...,argN) {
statements
}
以下に例を示します。
function sayHi(name, message) {
console.log("Hello " + name + ", " + message);
}
関数は名前で呼び出すことができ、関数に渡されるパラメーターは括弧内に置かれます (複数のパラメーターがある場合は、カンマで区切ります)。以下は関数 SayHi() を呼び出す例です。
sayHi("Nicholas", "how are you today?");
この関数を呼び出した場合の出力は、「こんにちは、ニコラス、今日の調子はどうですか?」です。パラメータ名とメッセージは関数内で文字列として連結され、最終的に console.log を通じてコンソールに出力されます。
ECMAScript の関数は、値を返すかどうかを指定する必要はありません。どの関数でも、いつでも return ステートメントを使用して、関数の値を返し、その後に返される値を返すことができます。例えば:
function sum(num1, num2) {
return num1 + num2;
}
関数 sum() は 2 つの値を加算し、結果を返します。return ステートメント以外に、関数が値を返すという特別な宣言がないことに注意してください。次に、次のように呼び出すことができます。
const result = sum(5, 10);
diff() 関数は、2 つの値の差を計算するために使用されます。最初の値が 2 番目の値より小さい場合は、2 番目の値から最初の値を減算し、そうでない場合は、最初の値から 2 番目の値を減算します。コード内の各分岐には、正しい差分を返す独自の return ステートメントがあります。
return ステートメントには戻り値を持たないこともできます。この時点で、関数はすぐに実行を停止し、未定義を返します。この使用法は、値を返すためではなく、関数の実行を早期に終了するために最も一般的に使用されます。たとえば、次の例では、console.log は実行されません。
function sayHi(name, message) {
return;
console.log("Hello " + name + ", " + message); // 不会执行 }
Strict モードでは、機能にいくつかの制限があります。
- 関数には、名前として eval または引数を含めることはできません。
- 関数パラメータを eval または引数と呼ぶことはできません。
- 2 つの名前付きパラメータに同じ名前を付けることはできません。上記のルールに違反すると、構文エラーが発生し、コードは実行されません。