#JavaScript:在小写输入后切换函数中的输入

问题描述 投票:1回答:3

在我降低输入后,我正在尝试在一个函数中使用开关。

这是我的代码:

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并且很享受它。欢迎所有人支持。

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

javascript switch-statement lowercase arrow-functions
3个回答
0
投票

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

  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');
  } 

}

0
投票

由于缺少括号userInput.toLowercase(),变量userInput已成为函数定义。因为该代码将进入默认值,返回undefined


0
投票

函数将在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中,改变函数参数被认为是一种不好的做法,其中一些答案可以做到。

© www.soinside.com 2019 - 2024. All rights reserved.