首页 > 解决方案 > JS 模板文字:未定义

问题描述

当我编写这个包含参数“day”的函数时,我想将选择的日期记录到控制台。我得到输出'day is not defined',我不知道为什么(我是 JS 新手)。我相信'day'的定义是因为我用一个参数调用了这个函数。

const getSleepHours = day => {
  if (day === 'monday'){
    return 8;
  } else if (day === 'tuesday'){
    return 7;
  } else if (day === 'wednesday'){
    return 8;
  } else if (day === 'thursday'){
    return 9;
  } else if (day === 'friday'){
    return 8;
  } else if (day === 'saturday'){
    return 9;
  } else if (day === 'sunday'){
    return 9;
  } else {
    return 'Please enter a valid day';
  }
};

console.log('You have slept for: ' + getSleepHours('sunday') + ' hours');
console.log(`${day}`);

标签: javascripttemplate-literals

解决方案


在函数定义语法中,“day”必须作为 (day) 包裹在括号 () 中。下面是我将如何实现它

    const getSleepHours = (day) => { 
        var hours = 0;
        
        switch(day){
           case "sunday":
             hours=1;
           break;
           case "monday":
             hours=2;
           break;
           default:
             hours=0;
        }
    
        return hours;
    }

const daysCount = getSleepHours('sunday');
console.log('You have slept for: '+ getSleepHours("sunday") +' hours');
console.log(daysCount);

推荐阅读