皆さん、私はJavascriptを学習中です。他の関数、特に引数部分の中に関数を持つことについて混乱しています。関数内のJavascript関数 - 引数について混乱しています
私は、誕生日を与えられた3人の退職までの年数を計算するためのレッスンのサンプルコードを含めました。私が混乱している何
は、関数yearUntilRetirement(名前、年)内年です。年齢を見つけるためにcalculateAge(yearOfBirth)機能で戻って見ているので、
が、この代わりに年のyearOfBirthではないでしょうか? また、この引数は現在の関数に固有のものですか?
function calculateAge(yearOfBirth) {
var age = 2016 - yearOfBirth;
return age;
}
function yearsUntilRetirement(name, year) {
var age = calculateAge(year);
var retirement = 65 - age;
console.log(name + ' retires in ' + retirement + ' years.');
}
yearsUntilRetirement('John', 1990);
yearsUntilRetirement('Mike', 1969);
yearsUntilRetirement('Mary', 1948);
引数の型名は、型が同じであれば問題ありません。たとえば、年が文字列の場合は、問題が発生します。あなたは年を何か他のものに置き換えることができ、まだURコードは正常に動作します。 –
これは一貫性の詳細です。言語の観点から言えば、変数の名前は位置によって決まります。最初の引数 'year'は、' yearOfBirth'と解釈される 'calculateAge'のスコープ内にあります。変数の命名は、理解を向上させます。 –
あなたはスコープ(https://www.w3schools.com/js/js_scope.asp)を見てください。 – gromit190