9.Javascriptの関数
関数とは、サブルーチンののことで関数を定義することで何度も呼び出して実行させることができます。
また、関数に引数を与えてその値基づいて処理し、その処理結果を戻り値として返すことができます。
オブジェクトを介して呼び出す関数のことをメソッドと言います。
プログラミング言語の関数は、数学の関数と同じような動きをします。
例えば、関数「f(x,y)=2x+3y」では、「f」が関数名で、「x,y」が引数、「2x+3y」が関数の処理になります。
f(1,1)で関数を呼び出せば結果は、「5」になります。この値は、f(1,1)が持つようになります。
つまり、f(1,1)=5となります。これが関数の戻り値です。
1)関数の宣言
<書式>
function 関数名(引数1,引数2,・・・){
関数内で処理するプログラム
return 戻り値 //returnがある場合は、戻り値を返すことができます。
}
引数は、なくてもかまいません。
2)関数の呼び出し(コール)
<書式>
関数名(引数1,引数2,・・・);
var a=関数名(引数1,引数2,・・・); //戻り値を変数aに代入しています。
<サンプル1>(ファイル名:js9-2-1.html)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">上記プログラムは、関数の戻り値を指定していないので関数内で処理結果を表示しています。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>関数の宣言と呼び出し(戻り値なし)</title>
</head>
<body>
<script type="text/javascript">
<!--
function f(x,y){ var z=2*x+3*y;
alert("計算結果:"+z); } f(1,1); //関数呼び出し
// -->
</script> </body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">上記プログラムは、関数の戻り値を指定して関数の処理後、その処理結果を表示しています。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title関数の宣言と呼び出し(戻り値あり)</title>
</head>
<body>
<script type="text/javascript">
<!-- var z;
function f(x,y){ var z=2*x+3*y;
return z; } z=f(1,1); //関数呼び出し
alert("計算結果:"+z);
// -->
</script> </body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>関数リテラル</title>
</head>
<body>
<script type="text/javascript">
<!-- var z;
var f=function(x,y){ var z=2*x+3*y;
return z; } z=f(1,1); //関数呼び出し
alert("計算結果:"+z);
// -->
</script> </body>
</html>