Javascript 调用函数时未定义,但它没有';不要每次打电话都这样
我正在使用codecademy学习JS,这个函数调用会得到断断续续的结果。在某些情况下,它会正确显示,但如果我继续重新运行该程序,它将在调用的天数内输出未定义。我做错了什么 詹姆斯的项目是:5公里 詹姆斯的训练时间是:未定义的天数Javascript 调用函数时未定义,但它没有';不要每次打电话都这样,javascript,Javascript,我正在使用codecademy学习JS,这个函数调用会得到断断续续的结果。在某些情况下,它会正确显示,但如果我继续重新运行该程序,它将在调用的天数内输出未定义。我做错了什么 詹姆斯的项目是:5公里 詹姆斯的训练时间是:未定义的天数 const getRandomEvent = () => { let random = Math.floor(Math.random() * 3) if(random === 0){ return "a 5K" } else if(random ===
const getRandomEvent = () => {
let random = Math.floor(Math.random() * 3)
if(random === 0){
return "a 5K"
}
else if(random === 1){
return "Cycling"
}
else if(random === 2)
return "Marathon"
}
const getTrainingDays = event =>{
let days;
if(event === "5K"){
days = 60;
}
else if(event === "Cycling"){
days = 40;
}
else if(event === "Marathon"){
days = 250;
}
return days;
}
const event = getRandomEvent();
const days = getTrainingDays(event);
const event2 = getRandomEvent();
const days2 = getTrainingDays(event2);
const event3 = getRandomEvent();
const days3 = getTrainingDays(event3);
const logEvent = (name, event) => console.log(`${name}'s event is: ${event}`);
const logTime = (name, days) => console.log(`${name}'s training time is: ${days} days`);
logEvent("James", event);
logTime("James", days);
logEvent("Cleopatra", event2);
logTime("Cleopatra", days2);
logEvent("Frederick", event3);
logTime("Frederick", days3);
克利奥帕特拉的活动是:骑自行车
克利奥帕特拉的训练时间是:40天
弗雷德里克的项目是:5公里
弗雷德里克的训练时间是:未定义的天数
const getRandomEvent = () => {
let random = Math.floor(Math.random() * 3)
if(random === 0){
return "a 5K"
}
else if(random === 1){
return "Cycling"
}
else if(random === 2)
return "Marathon"
}
const getTrainingDays = event =>{
let days;
if(event === "5K"){
days = 60;
}
else if(event === "Cycling"){
days = 40;
}
else if(event === "Marathon"){
days = 250;
}
return days;
}
const event = getRandomEvent();
const days = getTrainingDays(event);
const event2 = getRandomEvent();
const days2 = getTrainingDays(event2);
const event3 = getRandomEvent();
const days3 = getTrainingDays(event3);
const logEvent = (name, event) => console.log(`${name}'s event is: ${event}`);
const logTime = (name, days) => console.log(`${name}'s training time is: ${days} days`);
logEvent("James", event);
logTime("James", days);
logEvent("Cleopatra", event2);
logTime("Cleopatra", days2);
logEvent("Frederick", event3);
logTime("Frederick", days3);
获取事件的函数将为
random==0
返回5K
,但getTrainingDays
检查事件===5K
修复脚本以检查事件5K
在适当的情况下,还应该包括catch all-else语句
考虑如下情况:
const getRandomEvent = () => {
let random = Math.floor(Math.random() * 3);
if (random === 0) {
return "a 5K"
} else if (random === 1) {
return "Cycling"
} else if(random === 2) {
return "Marathon"
}
}
const getTrainingDays = event => {
let days;
if (event === "a 5K") {
days = 60;
} else if (event === "Cycling") {
days = 40;
} else if (event === "Marathon") {
days = 250;
} else {
days = -1;
}
return days;
}
因为
“一个5K”!==“5K”
,所以事件===“5K”
从来都不是真的。我在这里做了一个愚蠢的更改,让我重新检查了30分钟的代码:|。谢谢你的帮助