为了账号安全,请及时绑定邮箱和手机立即绑定

在if语句中使用多个条件

在if语句中使用多个条件

MMTTMM 2021-04-10 18:15:34
如何在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"但不是。
查看完整描述

3 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

在这种特定情况下,您甚至可以使用数组和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



查看完整回答
反对 回复 2021-04-22
?
慕沐林林

TA贡献2016条经验 获得超9个赞

你不可能有||那样的。您使用的方法不正确。您应该使用:


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


查看完整回答
反对 回复 2021-04-22
?
jeck猫

TA贡献1909条经验 获得超7个赞

您的操作员放置不正确:


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。


查看完整回答
反对 回复 2021-04-22
  • 3 回答
  • 0 关注
  • 262 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信