在if语句中使用多个条件

如何在if语句中使用多个条件?


function testNum(a) {

  if (a == (1 || 2 || 3)) {

    return "is 1, 2, or 3";

  } else {

    return "is not 1, 2, or 3";

  }

}


console.log(testNum(1)); // returns "is 1, 2, or 3"

console.log(testNum(2)); // returns "is not 1, 2, or 3"

console.log(testNum(3)); // returns "is not 1, 2, or 3"

testNum(2)并且testNum(3)应该return: "is 1, 2 or 3"但不是。


MMTTMM
浏览 263回答 3
3回答

开心每一天1111

在这种特定情况下,您甚至可以使用数组和Array#includes方法进行检查。if ([1, 2, 3].includes(a)) {  // your code}function testNum(a) {  if ([1, 2, 3].includes(a)) {    return "is 1, 2, or 3";  } else {    return "is not 1, 2, or 3";  }}console.log(testNum(1));console.log(testNum(2));console.log(testNum(4));console.log(testNum(3));仅供参考:在您当前的代码(1 || 2 || 3)结果中1(因为1是正确的),实际上a == (1 || 2 || 3)是a == 1。正确的方法是使用||(或)分隔每个条件, 例如: a == 1 || a == 2 || a ==3。

慕沐林林

你不可能有||那样的。您使用的方法不正确。您应该使用:function testNum(a) {  if (a == 1 || a == 2 || a == 3) {    return "is 1, 2, or 3";  } else {    return "is not 1, 2, or 3";  }}console.log(testNum(1));console.log(testNum(2));console.log(testNum(3));

jeck猫

您的操作员放置不正确:function testNum(a) {    if (a == 1 || a == 2 || a == 3) {        return "is 1, 2, or 3";    } else {        return "is not 1, 2, or 3";    }}之前,您正在测试a等于的1 || 2 || 3值是否等于1†。因此,您只是在检查a == 1哪个不是您想要的!†本质上,当您像这样将“或”串在一起时,将返回第一个真实值。例如,您可以为自己断言:0 || False || 5Gives 5。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript