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

时间:2018-05-15 03:51:04

标签: javascript if-statement return prompt

此功能提示用户选择摇滚纸张剪刀,并将输入更改为小写。如果用户没有选择上述之一,则返回If语句。但如果选择正确的选择,则返回else语句。

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

' c represent the column number, lRow represent the last row
' RefVal is a string variable read from reference spreadsheet

Range(Cells(2, c), Cells(lRow, c)).FormatConditions. _
    Add(xlCellValue, xlNotEqual, RefVal).Interior.ColorIndex = 6

如果我输入的不是岩石/纸/剪刀,我希望if语句可以运行。但是如果我输入摇滚/纸/剪刀,我希望else语句可以运行。

但是,无论如何,else语句都不会运行。

1 个答案:

答案 0 :(得分:2)

使用&&代替||,否则那里的条件将始终为真。但更好的是,您可以通过将有效选项放入数组并使用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());