returnの有無で出力結果が異なる理由
Javascript歴7日の初心者です。
returnの仕組みがよく理解できていません。
例としてコードを下記に示します。
コード <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>課題</title> <script> //return let data = [59, 39, 100, 2, 15, 40, 84, 97]; let ave; // 平均値 let total = 0; function calc_ave() { for(let i = 0; i < data.length; i++) { total = total + data[i]; return; //「以下の処理は実行されない」というのはスコープ内での出来事でしょうか? } } calc_ave(); ave = total / data.length; console.log(ave); //returnが無いと7.375が出力...どのような手順で計算されているのか。 ※returnを書くと意図した数値(54.5)が出力される。 </script> </head> <body> </body> </html>
Q1. returnを記述すると、意図している数値(54.5)が出力されます。これに関する自己回答を記述します。
- calc_ave関数の処理でtotalの値が計算される
- ave = total / data.lengthで平均値を出す
- コンソールに出力 (変数や関数の命名方法が悪い、と書いてみて思いました。)
Q2. returnなしの場合、(7.375)が出力されます。
これは何の計算過程からきているのか、わかりませんでした。
御教授をお願いしたいと思います。
回答1件
あなたの回答
tips
プレビュー