为什么我的javascript函数被打印为未定义?

问题描述 投票:1回答:1

我不熟悉JavaScript,目前正在学习函数。每当我尝试将其打印到控制台时,它将作为未定义返回。我确定它超级简单,但是我想念什么呢?这是我的代码:

let getSleepHours = day => {
  switch (day) {
    case 'monday':
      return 8;
      break;
    case 'tuesday':
      return 7;
      break;
    case 'wednesday':
      return 6;
      break;
    case 'thursday':
      return 9;
      break;
    case 'friday':
      return 10;
      break;
    case 'saturday':
      return 8;
      break;
    case 'sunday':
      return 11;
      break;
    default:
      return 'error';
  }
}
const getActualSleepHours = () => {
  return
  getSleepHours('monday') +
    getSleepHours('tuesday') +
    getSleepHours('wednesday') +
    getSleepHours('thursday') +
    getSleepHours('friday') +
    getSleepHours('saturday') +
    getSleepHours('sunday');
};
console.log(getActualSleepHours());
javascript function
1个回答
1
投票

由于此行它返回未定义的值

const getActualSleepHours=()=>{ return

这里,在return关键字之后没有返回任何内容,因此Javascript将认为其未定义。

您应该这样做:

const getActualSleepHours =() =>{ 
  return getSleepHours('monday')+
  getSleepHours('tuesday')+
  getSleepHours('wednesday')+
  getSleepHours('thursday')+
  getSleepHours('friday')+
  getSleepHours('saturday')+
  getSleepHours('sunday');

};

完整代码段:

let getSleepHours = day => {
  switch (day) {
    case 'monday':
      return 8;
      break;
    case 'tuesday':
      return 7;
      break;
    case 'wednesday':
      return 6;
      break;
    case 'thursday':
      return 9;
      break;
    case 'friday':
      return 10;
      break;
    case 'saturday':
      return 8;
      break;
    case 'sunday':
      return 11;
      break;
    default:
      return 'error';
  }
}
const getActualSleepHours =() =>{ 
  return getSleepHours('monday')+
  getSleepHours('tuesday')+
  getSleepHours('wednesday')+
  getSleepHours('thursday')+
  getSleepHours('friday')+
  getSleepHours('saturday')+
  getSleepHours('sunday');

};
console.log(getActualSleepHours());
© www.soinside.com 2019 - 2024. All rights reserved.