#JavaScript: переключать ввод в функции после ввода в нижнем регистре - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь заставить работать переключатель в функции после того, как опускаю вход.

это мой код:

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 и наслаждаюсь им.вся поддержка приветствуется.

edit: спасибо, ребята, за ответы на вопросы!Сделано это очень ясно для меня.

Ответы [ 3 ]

0 голосов
/ 28 февраля 2019

Переменная userInput стала определением функции из-за отсутствия скобок userInput.toLowercase().Из-за этого кода происходит дефолт, который возвращает undefined.

0 голосов
/ 28 февраля 2019

Функция остановит выполнение после оператора возврата.Поэтому вместо присвоения 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 это считается плохой практикойизменить параметры функции, что делают некоторые из этих ответов.

0 голосов
/ 28 февраля 2019

У вас есть пара небольших проблем с кодом:

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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...