#JavaScript: 在小写输入后的函数中切换输入
#JavaScript: switch input in a function after lowercase'd input
我试图在将输入小写后在函数中使用开关。
这是我的代码:
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
但后来 returns 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.toLowerCase()
放在括号内,而不是分配 userInput
,如下所示:
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 中,改变函数参数被认为是一种不好的做法,其中一些答案确实如此。
我试图在将输入小写后在函数中使用开关。
这是我的代码:
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
但后来 returns 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.toLowerCase()
放在括号内,而不是分配 userInput
,如下所示:
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 中,改变函数参数被认为是一种不好的做法,其中一些答案确实如此。