関数とは
- 関数は文が集まったもの(複数の処理を一つの塊として行うもの)
- ある値(引数)を与えられて、その値をもとに処理をしてその結果を返すもの
例)寿司(サーモン)
寿司を作る(という関数)
1、シャリを作る
2、ネタ用意する
3、シャリとネタを合体!
4、寿司
という1つのものを作り上げるのに必要な複数の処理を1つにまとめたもの
関数の構文
定義.js
function 変数名(引数){
//処理
}
func.js
function total(a,b){ //a,bは引数で4,5が代入されて、本文実行へ
console.log(a+b);
return a+b; //total関数の値に9を返す;
}
total(4,5);//(a=4,b=5)という値を与えて、外部から呼び出し
戻り値(return)とは
戻り値を理解する前にconsole.log
とreturn
の違いについて理解したい。
console.log
を理解する前になぜコンソールがあるのかについて理解してみる
私はコンソールを主にデバッグ用(バグの発見と修正)として利用している。
「どんな数を思い浮かべても、必ず3になるマジック」を例に違いを理解
3になるまでの過程のリンク←クリック!
console.js
//理想(思い浮かべる数:4)
function magic(num){
pro1 = num + 1; //5になりたい
pro2 = pro1 * 2; //10になりたい
pro3 = pro2 + 4; //14になりたい
pro4 = pro3 / 2; //7になりたい
return pro4 - num;//「君の思い浮かべた数字は3だ!!!」
}
console.log(magic(4));//関数の呼び出し
--------------------------------------------------------------------------------
//デバッグ
function magic(num){
pro1 = num + 1; //5になりたい
pro2 = pro1 * 2; //10になりたい
pro3 = pro2 + 4; //14になりたい
pro4 = pro3 / 7; //7になりたい
return pro4 - num; //僕:「君の思い浮かべた数字は2だ!!!」 君:「違うよ???」 僕:「恥ずかしい。。」
}
console.log(magic(4));//関数の呼び出し
//=>console.logで確認
function magic(num){
pro1 = num + 1; //5になりたい
console.log(pro1);//5
pro2 = pro1 * 2; //10になりたい
console.log(pro2);//10
pro3 = pro2 + 4; //14になりたい
console.log(pro3);//14
pro4 = pro3 / 7; //7になりたい
console.log(pro4);//2 <====== ここが問題!!!
return pro4 - num; //僕:「君の思い浮かべた数字は-2だ!!!」 君:「違うよ???」 僕:「恥ずかしい。。」
}
console.log(magic(4));//関数の呼び出し
//console.log(pro4)により、pro4 = pro3 / 7が間違いであることを確認!
つまり
console.log
は、バグがないか確認するためにコンソールに表示するための関数
return
は、関数に処理後の値を返してかつ、関数の処理を中止して抜ける(ループのbreak文的な存在)
*関数は複雑な処理をした結果、引数の値をもとに処理結果が関数に返されれば目的は達成なのでreturn
で処理を終了にできる