LoginSignup
4
0

More than 5 years have passed since last update.

JSの関数についての現在の理解

Last updated at Posted at 2019-01-12

関数とは

  • 関数は文が集まったもの(複数の処理を一つの塊として行うもの)
  • ある値(引数)を与えられて、その値をもとに処理をしてその結果を返すもの

例)寿司(サーモン)
寿司を作る(という関数)
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.logreturnの違いについて理解したい。

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で処理を終了にできる

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0