JS 函数没有返回预期的结果

JS function isn't returning the expected result

此函数提示用户选择 rockpaperscissors 和将输入更改为小写。如果用户没有选择以上之一,则返回 If 语句。但如果选择正确,则返回 else 语句。

但是,如果用户输入了适当的响应,则 else 语句不会 运行。

function player() {
    let pick = prompt("Rock, paper, or scissors?");
    pick = pick.toLowerCase();

    if ((pick !== 'rock') || (pick !== 'paper') || (pick !== 'scissors')) {
        return `Please pick a valid choice ${pick}`;
    } else {
        return pick;
    }
}

如果我输入 rock/paper/scissors 以外的内容,我希望 if 语句为 运行。但是如果我输入 rock/paper/scissors,我希望 else 语句为 运行.

然而,无论如何,else 语句永远不会 运行s。

&&代替||,否则那里的条件永远为真。但更好的是,您可以通过将有效选择放在数组中并使用 includes:

来使代码更清晰

const validPicks = ['rock', 'paper', 'scissors'];
function player() {
  const pick = prompt("Rock, paper, or scissors?").toLowerCase();
  if (!validPicks.includes(pick)) {
    return `Please pick a valid choice ${pick}`;
  } else {
    return pick;
  }
}
console.log(player());