作为一个编码菜鸟,我在Codecademy的Javascript练习中总是在语法上挣扎。 这是我的第一个问题,如果没有一些互联网搜索帮助,我就无法解决 - 如果这已经在这里得到解决,我深表歉意。
我通常离解决它有一个分号,但这次不是(? 我试图适应 3 个结果:
-
有人输入未来一年,我告诉他们那一年的年龄。
-
有人在他们出生前一年输入,我给他们#年,直到他们出生。
-
有人在他们出生一年后输入,我给他们当时的年龄。
花了太多时间移动大括号和分号,我想我只是看不到错误。
const howOld = (age, year) =>
{
if
(year > 2019);
let calculatedAge = ( year - 2019 + age );
{
return `You will be ${calculatedAge } in the year ${year}.`;
} else if
(year < (2019-age));
let calculatedAge = ( 2019 - year + age );
{
return `The year ${year } was ${calculatedAge } years before you were
born.`;
} else
let calculatedAge = ( year - 2019 + age );
{
return `You were ${calculatedAge} in the year ${year}. `;
}
};
console.log(howOld(47,2000))
我的"else if"语句出现语法错误。
应该可以做到
const howOld = (age, year) =>
{
if(year > 2019)
{
let calculatedAge = ( year - 2019 + age );
return `You will be ${calculatedAge } in the year ${year}.`;
}
else if(year < (2019-age))
{
let calculatedAge = ( 2019 - year + age );
return `The year ${year } was ${calculatedAge } years before you were born.`;
}
else
{
let calculatedAge = ( year - 2019 + age );
return `You were ${calculatedAge} in the year ${year}. `;
}
};
console.log(howOld(47,2000))
为了解释你的错误,你的if陈述是错误的而不是拥有
if(condition){do}
你有
if(condition);do{do}
你可以稍微改变一下你的if/else语句。你很接近,只是你的条件和括号有点混乱。
你要确保你有一个这样的语法:
if (condition)
{
// do something
} else if (condition)
{
// do something else
}
试试这个解决方案:
const howOld = (age, year) =>
{
if (year > 2019)
{
let calculatedAge = ( year - 2019 + age );
return `You will be ${calculatedAge } in the year ${year}.`;
} else if (year < (2019-age))
{
let calculatedAge = ( 2019 - year + age );
return `The year ${year } was ${calculatedAge } years before you were born.`;
} else
{
let calculatedAge = ( year - 2019 + age );
return `You were ${calculatedAge} in the year ${year}. `;
}
};
console.log(howOld(47,2000))
您在代码中存在来自您独特风格的小错误。如果我们标准化代码,我们将看到有过多的分号以及括号不正确。
const howOld = (age, year) => {
if (year > 2019);
let calculatedAge = ( year - 2019 + age );
{
return `You will be ${calculatedAge } in the year ${year}.`;
} else if (year < (2019-age));
let calculatedAge = ( 2019 - year + age );
{
return `The year ${year } was ${calculatedAge } years before you were born.`;
} else
let calculatedAge = ( year - 2019 + age );
{
return `You were ${calculatedAge} in the year ${year}. `;
}
};
正确的版本:
const howOld = (age, year) => {
if (year > 2019){
let calculatedAge = ( year - 2019 + age );
return `You will be ${calculatedAge } in the year ${year}.`;
} else if (year < (2019-age)) {
let calculatedAge = ( 2019 - year + age );
return `The year ${year } was ${calculatedAge } years before you were born.`;
} else {
let calculatedAge = ( year - 2019 + age );
return `You were ${calculatedAge} in the year ${year}.`;
}
};
console.log(howOld(47,2000))