函数内部的Javascript函数 - 混淆了参数

时间:2017-12-04 08:44:32

标签: javascript function

大家好,我正在学习Javascript,我很困惑在另一个函数中有一个函数,特别是参数部分。

我已经从课程中提供了一个示例代码,用于计算三个人在出生年份退休前的年份。

我感到困惑的是函数yearUntilRetirement(名称,)中的

这不应该是 yearOfBirth 而不是,因为它回顾了calculateAge(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);

1 个答案:

答案 0 :(得分:1)

也许这会澄清。

当您调用yearsUntilRetirement(name, year)时,您传入两个值作为参数。例如yearsUntilRetirement("John", 1975)。然后,在函数yearsUntilRetirement内部,使用calculateAge的值作为参数调用另一个函数year。由于year是值1975,因此我们得到age = calculateAge(1975)。现在,在calculateAge函数中,值1975是与yearOfBirth对应的值。所以,通过运行一切,你得到var age = 2016 - 1975

如果这太过分了,我会尝试进一步澄清。如果您还需要其他任何内容,请发表评论。