久保清隆のブログ

ライフハック、健康、旅行など、役立つ情報を書きます。

JavaScriptの勉強5 〜基礎の基礎 関数

関数の定義の仕方と関数の意義

  • 「関数を定義する」とは、よく使う処理や定型的な処理を一つにまとめること。
  • 関数の意義
    • 同じような処理をするために同じコードを何度も書くのではなく、関数としてまとめておいて、必要な時にその関数を呼び出すようにする。そうすることで、プログラミングのミスが減り、プログラムの効率が上がり、後からの修正も容易になる。

関数の種類

関数の種類は以下の2種類。

  • もともとJavaScriptの命令として用意されている関数
  • プログラマが自分で作る関数(ユーザ定義関数)
もともと用意されている関数

以下のレファレンスのページ参照。

ユーザ定義関数

ユーザ定義関数は、以下の4つに大別される。

※引数とは、関数に渡す変数や値のこと。
 例えば、document.write("test")の"test"の部分。
  • 引数を渡すと値を返すもの
  • 引数を渡さなくても値を返すもの
  • 引数を渡すが値を返さず、関数の内部で処理をするもの
  • 引数を渡さず値も返さず、関数の内部で処理をするもの
ユーザ定義関数の定義の仕方

以下のように定義する。

function 関数名(引数){
  処理プログラム
  return 戻り値
}

定義した後は、この関数名と引数を書けばこの関数が実行される。
JavaScriptは上から順番にプログラムが実行されるので、関数を呼び出す前に定義しておく必要がある。定義されていない関数を用いると、関数の未定義エラーとなる。

よいプログラムを書くために注意すること

よいプログラムを書くには、

  • 誰が見てもわかりやすい
  • 修正、追加、変更が容易である

必要がある。詳しくは以下のページを参照。
きれいなプログラムを書くには 〜プログラミング基礎の基礎

関数を用いたプログラミングコードの例

月給とボーナスと、それらを貯蓄に回す割合から年間の貯蓄額を算出するプログラムを、
関数を用いて書いてみる。

<html>
<head>
<title>テスト2</title>
<script language="javascript">
  function calcStock(salary, rate, bonus_number){
    var stock = 0;
    var bonus = salary * bonus_number;
    for(i=1;i<=12;i++){
    stock = stock + salary * rate
      if(i==6 || i==12){
        stock = stock + bonus
      }
    }
    return stock;
  }
  
  function writeStock(salary, rate, bonus_number, person){
    document.write(person + "さんの月給は" + salary + "円、ボーナスは半期で" + bonus_number + "か月分です。<br /><br />" + person + "さんは月給の" + rate*100 + "%とボーナス全てを貯金に回します。<br /><br />");

    document.write(person + "さんの一年間の貯金は" + calcStock(salary,rate,bonus_number) + "円になります。<br /><br /><br />");
  }
</script>
</head>
<body>
<script language="javascript">
//<![CDATA[
  var a_salary = 250000;
  var a_rate = 0.2;
  var a_bonus_number = 2;
  var a_person = "A"
  writeStock(a_salary,a_rate,a_bonus_number,a_person);

  var b_salary = 200000;
  var b_rate = 0.2;
  var b_bonus_number = 6;
  var b_person = "B"
  writeStock(b_salary,b_rate,b_bonus_number,b_person);
//]]>
</script>
</body>
</html>

出力結果は、以下のようになる。

Aさんの月給は250000円、ボーナスは半期で2か月分です。

Aさんは月給の20%とボーナス全てを貯金に回します。

Aさんの一年間の貯金は1600000円になります。


Bさんの月給は200000円、ボーナスは半期で6か月分です。

Bさんは月給の20%とボーナス全てを貯金に回します。

Bさんの一年間の貯金は2880000円になります。



お読み頂きありがとうございます。
少しでもお役に立てたらクリックお願いします↓。
ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへにほんブログ村 IT技術ブログ プログラム・プログラマへ