関数は、プログラム内のどこからでも呼び出すことができる再利用可能なコードのセットです。これにより、同じコードを何度も記述する必要がなくなります。これは、プログラマーがモジュール式コードを作成するのに役立ちます。大規模なプログラムをいくつかの小さくて管理しやすい機能に分割できます。
他の高級プログラミング言語と同様、JavaScript は関数を使用してモジュール式コードを作成するために必要な機能をすべてサポートしています。
前の章でalert()関数とwrite()関数を見たはずです。これらの機能は何度も使用しますが、コア JavaScript で記述されたのは 1 回だけです。
JavaScript を使用すると独自の関数を作成できます。このセクションでは、JavaScript で独自の関数を作成する方法を紹介します。
関数定義:
前に関数を使用したので、関数を定義する必要があります。 JavaScript で関数を修飾する最も一般的な方法は、function キーワードを使用し、その後に一意の関数名、(空の場合もある) 引数リスト、中括弧で囲まれたステートメントのブロックを使用します。基本的な構文は次のとおりです:
<script type="text/javascript"> <!-- function functionname(parameter-list) { statements } //--> </script>
例:
sayHello というパラメータを取らない単純な関数がここで定義されています:
<script type="text/javascript"> <!-- function sayHello() { alert("Hello there"); } //--> </script>
関数を呼び出す:
スクリプトで関数を呼び出すには、次のように関数の名前を記述するだけです:
<script type="text/javascript"> <!-- sayHello(); //--> </script>
関数パラメータ:
これまで、関数がパラメータを取らないことを見てきました。ただし、関数の呼び出し中にさまざまなパラメータを渡す機能があります。これらのパラメーターを使用して実行できることはすべて、関数内でキャプチャして処理できます。
関数には、カンマで区切られた複数の引数を指定できます。
例:
sayHello 関数にいくつかの変更を加えてみましょう。今回は 2 つのパラメータを取ります:
<script type="text/javascript"> <!-- function sayHello(name, age) { alert( name + " is " + age + " years old."); } //--> </script>
注: 演算子を使用して文字列と数値の両方を連結します。 JavaScript は数値と文字列を気にしません。
これで、この関数を次のように呼び出すことができます:
<script type="text/javascript"> <!-- sayHello('Zara', 7 ); //--> </script>
return ステートメント:
JavaScript 関数にはオプションの return ステートメントを含めることができます。これは、関数から値を返す場合に必要です。このステートメントは関数の最後のステートメントである必要があります。
たとえば、2 つの数値引数を関数に渡すと、呼び出し側プログラムで乗算された値が関数から返されることが期待できます。
例:
この関数には 2 つのパラメータがあり、呼び出し側プログラムで結合されて結果が返されます。
<script type="text/javascript"> <!-- function concatenate(first, last) { var full; full = first + last; return full; } //--> </script>
これで、この関数を次のように呼び出すことができます:
<script type="text/javascript"> <!-- var result; result = concatenate('Zara', 'Ali'); alert(result ); //--> </script>