JavaScript学習の記録 関数を使ってコードをきれいにする

Javascript
スポンサーリンク

こんにちは朱夏です。

今回はJavaScriptの関数を使って、コードをまとめてスッキリさせたいと思います。

朱夏
朱夏

同じコードを何度も書くのは大変だからまとめたいな。

 

 

こんな時に使えるのが関数です。
関数は何行もある処理を1つのキーワードで使えるようになるのはとても便利です。

それではいってみましょう。

[もくじ]
JavaScriptのコード
解説
あとがき

JavaScriptのコード

先ずはコードです。

'use strict';

var i = 0;
var hint = document.getElementById('hintbox');
var randomnumber = Math.floor(Math.random() * 100 + 1);
var number = document.getElementById('number');

function numgame() {
   i++;
   var inputnum = document.getElementById('exampleInputNum').value;
   document.getElementById('answer').innerText = inputnum;
   
   if(randomnumber == inputnum) {
      hint.insertAdjacentHTML("beforeend", '<p class="mb-0">' + i + '回目</p>' + '<p>正解です</p>');
      number.innerText = '正解は' + randomnumber + 'です';
   } else if(randomnumber > inputnum) {
      hint.insertAdjacentHTML("beforeend", '<p class="mb-0">' + i + '回目</p>' + '<p>もっと大きいよ:回答' + inputnum + '</p>');
   } else {
      hint.insertAdjacentHTML("beforeend", '<p class="mb-0">' + i + '回目</p>' + '<p>もっと小さいよ:回答' + inputnum + '</p>');
   }
};

document.getElementById('buttonsubmit').addEventListener( 'click', () => {
   if(i == 4) {
      numgame();
      number.innerText = '正解は' + randomnumber + 'です';
   } else {
      numgame();
   }
});

 

こんな感じです。
クリックイベントの前に変数や関数を宣言しています。

組み込むためのパーツセットを作っているようなイメージですね。

解説

それでは解説していきます。
関数としてまとめた処理はこの部分です。

function numgame() {
   i++;
   var inputnum = document.getElementById('exampleInputNum').value;
   document.getElementById('answer').innerText = inputnum;
   
   if(randomnumber == inputnum) {
      hint.insertAdjacentHTML("beforeend", '<p class="mb-0">' + i + '回目</p>' + '<p>正解です</p>');
      number.innerText = '正解は' + randomnumber + 'です';
   } else if(randomnumber > inputnum) {
      hint.insertAdjacentHTML("beforeend", '<p class="mb-0">' + i + '回目</p>' + '<p>もっと大きいよ:回答' + inputnum + '</p>');
   } else {
      hint.insertAdjacentHTML("beforeend", '<p class="mb-0">' + i + '回目</p>' + '<p>もっと小さいよ:回答' + inputnum + '</p>');
   }
};

 

関数を作る場合は以下の様に書きます。

function 関数の名前() {
   //処理内容
};

 

functionは固定です。

その後ろに書かれた文字列が関数の名前になります。
今回の数当てゲームではnumgame()という名前の関数にしました。

()は関数の後ろに必ず付けます。
引数というものを使う場合はここを使うのですが、今回は中身無しのかっこだけ使います。

関数として書いたコードには注意があります。

  • 関数として書いたコードは処理されるわけではない
  • 関数の最後は”;”が必要

次に、作った関数を使って処理を実行しているのはこちら。

document.getElementById('buttonsubmit').addEventListener( 'click', () => {
   if(i == 4) {
      numgame();
      number.innerText = '正解は' + randomnumber + 'です';
   } else {
      numgame();
   }
});

 

前回同じ処理が繰り返し書かれていた部分が、「numgame();」だけになりました。
これのおかげで全体のコード量は2/3くらいになっています。

 

あとがき

JavaScriptの関数を使って処理をまとめてみました。
まだ引数を使ったりする様な高度な使い方は出来ていませんが、基本的な処理をまとめる使い方が出来るようになるだけで、コードを書くのがかなり楽になりました。

今回のまとめとしてはこちら。

  • 関数で複数行の処理をまとめられる
  • 作った関数は何度でも使える
  • 関数の宣言(function)の最後には”;”が必要

というわけで、今回の数当てゲームはこれで完成としたいと思います。
JavaScriptに慣れるためにあえて細かくコツコツ進めてみましたが、毎日触るのは割と有効でした。
抜け落ちていかないうちに、JavaScriptはまだまだ触っていこうと思います。

今回は以上です。
次回もよろしくお願いします。

タイトルとURLをコピーしました