#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 并且很享受。 欢迎大家支持。

编辑:谢谢你们的快速回复! 对我来说很清楚。

您的代码只有几个小问题:

  1. return 语句之后的任何内容都无法访问,因此使用原始 return userInput = userInput.toLowercase 之后的 switch 语句不会 运行.

  2. String.prototype.toLowerCase方法拼写为toLowerCase而不是toLowercase

  3. 您必须调用该方法;例如,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 中,改变函数参数被认为是一种不好的做法,其中一些答案确实如此。