私は第3章 - 機能Eloquent Javascriptに入っています。サブ関数にreturn文がありませんか? [Javascript]
次のコードに関するすべてが私にとって意味のあるものです。
なぜ、より良い用語がないためにサブ関数にreturn文がありませんか?
var landscape = function() {
var result = "";
var flat = function(size) {
for (var count = 0; count < size; count++)
result += "_";
};
var mountain = function(size) {
result += "/";
for (var count = 0; count < size; count++)
result += "'";
result += "\\";
};
flat(3);
mountain(4);
flat(6);
mountain(1);
flat(1);
return result;
};
console.log(landscape());
// → ___/''''\______/'\_
たぶん私も異なるソースから異なる定義を読んだ後、return文の目的についての根本的な何かが欠けています。
サブ関数にreturn文を追加しようとしました。私はそれがサブ機能をあらかじめ成熟させて終わらせるか、それとも決してそこになかったかのように同じ結果を生み出すことに気がつきました。
読んでいただきありがとうございます。
サブ関数は個々の結果を持たない(単に 'result'変数を操作します)。あなたはどのような価値を返すと思いますか、それを通話場所でどのように使用しますか? – Bergi
関数に 'return'ステートメントは必要ありません。実行がボディの終わりに達すると、関数を終了するだけです(そして 'undefined'を返します)。 – Bergi
@Bergiさて、いくつかの定義を読み、いくつかの例を見ても、値を返すことが何を意味するのかがわかりませんでした。それは今明らかになっています。 @ suren-srapyanの答えと例が出るまで、私は外部スコープと関数スコープの変数の概念に触れていませんでした。 Surenの投稿の後でさえ、私はあなたのコメントを読むまで、まだそれを理解していませんでした(「サブ関数は個々の結果を持たない(単に 'result'変数を操作するだけです)。 ! – Oiohwah