在我降低输入后,我正在尝试在一个函数中使用开关。
这是我的代码:
let optie;
const getUserChoise = (userInput) =>
{
return userInput = userInput.toLowercase;
switch(userInput){
case 'rock': return userInput
break;
case 'paper': return userInput
break;
case 'scissors': return userInput
break;
default :
console.log(userInput + ' is not an option. Make sure to use: rock, paper or scissors');
}
}
getUserChoise('rockwer');
由于某些原因,在下壳体后,开关将不会读取输入。我试图删除return
然后它返回undefined
我刚刚开始学习javascript并且很享受它。欢迎所有人支持。
编辑:谢谢你们快速回复!对我来说非常清楚。
你的代码只有几个小问题:
return
语句之后的任何内容都无法访问,因此使用原始的return userInput = userInput.toLowercase
后,switch语句将无法运行。String.prototype.toLowerCase
方法拼写toLowerCase
而不是toLowercase
。toLowerCase()
。这是固定版本:
const getUserChoise = (userInput) => {
userInput = userInput.toLowerCase();
switch(userInput){
case 'rock': return userInput
break;
case 'paper': return userInput
break;
case 'scissors': return userInput
break;
default :
console.log(userInput + ' is not an option. Make sure to use: rock, paper or scissors');
}
}
由于缺少括号userInput.toLowercase()
,变量userInput已成为函数定义。因为该代码将进入默认值,返回undefined
。
函数将在return语句后停止执行。因此,您可以将userInput
放在括号内,而不是分配userInput.toLowerCase()
,如下所示:
let optie;
const getUserChoise = (userInput) =>
{
switch(userInput.toLowerCase()){
case 'rock': return userInput
break;
case 'paper': return userInput
break;
case 'scissors': return userInput
break;
default :
console.log(userInput + ' is not an option. Make sure to use: rock, paper or scissors');
}
}
getUserChoise('rockwer');
希望这工作:) 编辑:在Javascript中,改变函数参数被认为是一种不好的做法,其中一些答案可以做到。