関数について
複数の決まった処理をまとめて名前を付けたものを関数と言います。
関数は"function"を使って定義し、変数と同様のルール(英字、数字、アンダースコア"_"のみを使う)で関数名を指定します。関数は()の中にいくつかの引数をカンマ(,)を付けて定義することができます。このとき関数を使用するために呼び出すときにも同数の引数が必要です。
引数がない場合は、()の中は空にします。
また、同じ名前の関数を複数作成することはできません。さらに、関数を呼び出す位置よりも前に関数を定義しておかなければなりません。
<script type="text/JavaScript">
<!--
function 関数名(引数1,引数2,・・・){
処理1;
処理2;
}
・
・
・
関数名(引数1,引数2,・・・); //<--関数を使うために呼び出します。
//-->
</script>
例1
同じ処理を繰り返し実行できます。引数は指定していません。
| プログラム例1: | 説明 |
|---|---|
<script type="text/JavaScript">
<!--
function hyouji(){
alert("入力されました。");
}
simei=prompt("名前をいれて下さい","");
if(simei!=""){
hyouji();
}
w=prompt("体重をいれて下さい(kg)","");
if(w!=""){
hyouji();
}
//-->
</script>
|
順番2,4→ hyouji関数内: メッセージを表示します。 順番1→ 入力プロンプトを提示します。 変数simeiに値が入っていればhyouji関数を呼び出します。 順番3→ 入力プロンプトを提示します。 変数wに値が入っていればhyouji関数を呼び出します。 |
例2
引数を使って関数に値を渡しています。
| プログラム例1: | 説明 |
|---|---|
<script type="text/JavaScript">
<!--
function hyouji(input){
alert(input+"が入力されました");
}
simei=prompt("名前をいれて下さい","");
if(simei!=""){
hyouji(simei);
}
w=prompt("体重をいれて下さい(kg)","");
if(w!=""){
hyouji(w);
}
//-->
</script>
|
入力されたものを受け取ってメッセージを表示します。 入力プロンプトを提示します。 変数simeiに値が入っていれば 引数をsimeiとして 関数hyoujiを呼び出します。 入力プロンプトを提示します。 変数wに値が入っていれば 引数をwとして 関数hyoujiを呼び出します。 |
例3
引数を使って関数に値を渡しています。さらにreturnで「戻り値」を設定しています。
| プログラム例1: | 説明 |
|---|---|
<script type="text/JavaScript">
<!--
function Risou(sinchou){
var result=0.65*sinchou-50;
return result;
}
function Himan(taijyu,risou_taijyu){
var result=(taijyu/risou_taijyu)*100;
return result;
}
simei=prompt("名前をいれて下さい","");
w=prompt("体重をいれて下さい(kg)","");
h=prompt("身長をいれて下さい(cm)","");
risou=Risou(parseInt(h));
himando=Himan(parseInt(w),risou);
alert(simei+"さんの理想体重:"+risou+"kg--肥満度:"+himando);
//-->
</script>
|
入力されたものを受け取って理想体重を 計算し、その値を戻しています。 入力されたものを受け取って肥満度を 計算し、その値を戻しています。 入力プロンプトを提示します。 risou=Risou(parseInt(h)); 入力された身長データを整数に変換して、それを引数にして 関数Risouを呼び出し、戻り値をrisouで受け取っています。 himando=Himan(parseInt(w),risou); 入力された体重データを整数に変換してものと、risouを引数として 関数Himanを呼び出し、戻り値をhimandoで受け取っています。 |