Codecademy howOld 语法错误在其他如果



作为一个编码菜鸟,我在Codecademy的Javascript练习中总是在语法上挣扎。 这是我的第一个问题,如果没有一些互联网搜索帮助,我就无法解决 - 如果这已经在这里得到解决,我深表歉意。

我通常离解决它有一个分号,但这次不是(? 我试图适应 3 个结果:

  1. 有人输入未来一年,我告诉他们那一年的年龄。

  2. 有人在他们出生前一年输入,我给他们#年,直到他们出生。

  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))

最新更新