シノのいろいろ

いろいろなことを書きます。それだけ。見るも見ないも自由だけど、見てくれると嬉しいな。

第42回:JavaScript講座本編4「関数」

どうも、シノです。

 

三週間経ちましたが、講座は何も変わらず、平常運転です。

 

というわけで、JavaScript講座本編第4回!

今回は、ついに「関数」について解説していきますよ!!

 

これができると、ほんとに一気に理解度が上がっていきます

じゃんじゃん書いて、こんなことしたいなってのを実現しちゃいましょう

 

今回の目次です。

 

 

0.前回の復習

前回は、「繰り返し処理」を解説しました。

kuga314159.hatenablog.com

最後に出した問題、解けましたか?

再掲しましょう。

問.1から10を、一つずつ改行しながら出力してください。そのとき、偶数の下にさらに改行を1つ追加してください。

どうだったでしょうか。

解答例を、while文を使った場合、for文を使った場合それぞれで載せます。

もちろん、これ以外にも方法はあるので、前回出した表示例と一致するか確認してみてください。

while文を使った例

var a = 0;
while(a < 10){
	a++;
	document.write(a);
	document.write("<br \/>");
	if(a % 2 == 0){
		document.write("<br \/>");
	}
}

for文を使った例

for(var a = 1; a < 11; a++){
	document.write(a);
	document.write("<br \/>>);
	if(a % 2 == 0){
		document.write("<br \/>");
	}
}

なお、繰り返しってどっちを使えばいいの?って話ですが、繰り返す回数が決まっているならfor文決まっておらず、何らかの条件で繰り返す場合はwhile文を使った方がいいでしょう。

 

 

1.そもそも「関数」って何?

さて、今回の内容です。

そもそもですが関数とは何でしょう?前回ちらっと言ってしまいましたが…(笑)

 

関数とは、簡単に言うと受け取った情報をもとに処理を行う塊です。

百聞は一見に如かず、とも言いますし、さっそく使い方を見てみましょう。

 

 

2.関数の使い方1「処理をまとめてみよう」

まずは、関数を定義する部分です。

function 関数名(引数){

    処理する内容

}

はい、これだけです。

関数には自由に名前をつけることができます。それを関数名のところに書きます。

次の括弧の中に、「引数」とありますね。

これは、この関数を処理するために受け取った値を、どんな変数に入れておくかを書きます。

そして、中括弧の中に処理を書いていくんですね。

もちろんですが、この中にこれまで解説したような変数宣言、if文、while文、for文などもろもろ書けます。

 

例を見てみましょう。

function showNumber(num){
	document.write("関数に入力された値は");
	document.write(num);
	document.write("です。");
}

この関数を実行すると、実行したところに「関数に入力された値は(引数で入力された値)です。」と表示されるわけですね。

 

では、これを実際に使ってみましょう

使うときは、使いたいところに以下の記述をするだけです。

関数名(渡したい値);

簡単ですね。

例えば、上に出したshowNumber関数で5を表示したいとなると、

showNumber(5);

と書けばいいことになります。

これを実行すると、「関数に入力された値は5です。」と表示されます。

 

もちろん、複数の引数を入力することもできます。そのときは、定義部分、渡す部分ともにコンマで区切ってください

 

 

3.関数の使い方2「戻り値を受け取ってみよう」

さて、これだけではなんか物足りないですね。

例えば…この関数で何か計算をして、その値を持ってきたいとしましょう。

 

もちろん、できます。

もう一つ、関数の例を出します。2つの数字を入力して、その足し算した結果を戻してくれるようにします。

function sumNumber(a, b){
	var c = a + b;
	return c;
}

関数の最後に、何か見たことないものがありますね。

これは、return文といって、この後ろに書いたものを、関数を呼び出した部分に戻してあげることができます。

この、戻すものを戻り値と言います。

これを使う場合は、下のようにします。

var result = sumNumber(5, 8);

はい、関数を代入するようなイメージです。

この戻り値は、書いた関数の部分にそのまま置き換わるような働きをするので、このように書くことになります。

この場合ですと、resultには13が入るんですね。

ただし、戻り値は多くて1つのみです。

実際はできるのですが…今は一つと思ってもらっていいでしょう。

複数やる場合にはここまでで解説していない内容を使います。

気になった方は調べてみましょう。投げやりとか言わないで

 

多くてと書きましたが、戻り値はなくてもいいです。

その場合、return文を省略すると中括弧の中に書いた処理を全部行いますし、「return;」だけ書くと、それが実行された時点で関数の処理が終了します。

繰り返しの「break;」と同じような感じですね。

 

 

4.実際に使ってみた

では、ここまでの内容を使って、2つの関数を定義して実行してみましょう。

ソースコード

function showNumber(num){
	document.write("関数に入力された値は");
	document.write(num);
	document.write("です。");
}

function sumNumber(num1, num2){
	var num3 = num1 + num2;
	return num3;
}

var a = 5;
var b = 8;
var result = sumNumber(a, b);
showNumber(result);

実行例

どうでしょうか。

うまく表示できたら、aとbの値を変えてみてください。それによって、表示される数字も変わるはずです。

 

 

まとめ

いかがだったでしょうか。

今回は、関数の定義のしかた、使い方についてまとめました。

いつもに比べるとちょっと短いですが、とても重要な部分なのでこれくらいでいいでしょう。

 

次回ですが…ついに、HTMLから値を取ってこようと思います!

また、狙ったところに値を埋め込むこともしてみようかなと。

遅くなりましたが、ここまでの内容をフル活用するので、是非使えるようになっておきましょう!

 

更新情報はTwitterでも呟いてます。よかったら覗いていってください。

 

 

次回:HTMLとの連携(2020/1/19投稿しました!!!)

kuga314159.hatenablog.com

 

 

それでは。