我正在尝试编写一个代码来检查if语句中的两个条件,但没有运气。
for(var num = 1; num<=100;num +=1)
{if (num % 3==0) and (num % 5==0) console.log("fizzbuzz");
else if (num % 3==0) console.log("fizz");
else if(num % 5==0) console.log("buzz");
else console.log(num);}
答案 0 :(得分:2)
首先,将and
更改为&&
,
此外,您的if
语句没有这样的括号:
for(var num = 1; num<=100;num +=1){
if ((num % 3==0) && (num % 5==0)) console.log("fizzbuzz");
else if (num % 3==0) console.log("fizz");
else if(num % 5==0) console.log("buzz");
else console.log(num);
}
然后它应该像魅力一样工作! 你也需要缩进。
答案 1 :(得分:1)
使用&&
代替和。
for (var num = 1; num <= 50; num += 1) {
if (num % 3 == 0 && num % 5 == 0) console.log("fizzbuzz");
else if (num % 3 == 0) console.log("fizz");
else if (num % 5 == 0) console.log("buzz");
else console.log(num);
}
答案 2 :(得分:1)
&&
,而不是and
。乍一看,它甚至可以被视为伪代码的一部分,坏伪代码if
语句具有if (condition) operator
之类的结构,因此当您想要检查多个条件时,应使用括号括起它们:if (condition1 && condition2 && ... && conditionN)
。所有条件最终都等同于评估后检查的单个条件。if
语句允许不用大括号包裹运算符:if (condition) some operator;
。但如果你写if (condition) {operator}
,它更具可读性和可理解性。例如,当您更改代码并希望添加更多运算符时,它会因一些令人困惑的错误而更加安全。假设你想写这样的smth: if(everythingIsOk)informUser;
如果一切正常,我们假设你想添加一条消息。你可以这样写:
if (everythingIsOk)
informUser;
writeMessage;
在上面的示例中,您使程序仍然编写消息,因为它是一个单独的指令。如果你最初编写if (everythingIsOk){informUser}
,那么在这种特殊情况下添加一条必须执行的指令会更容易。更重要的是,它更具可读性。
您可能会感到惊讶,但以下内容也是有效的:
if (everythingIsOk);
以下内容更具可读性,因为至少它让人们认为你没有忘记中间某处的建筑:
if (everythingIsOk){}
最后,如果你想强调在某些情况下不应该做什么,那就是方法(只是fyi):
if (everythingIsOk){/* Do nothing, no code here is not a mistake! */}
因此,如果您这样编写代码,您的代码将更具可读性:
for (var num = 1; num <= 100; num += 1) {
if ((num % 3 == 0) && (num % 5 == 0)) {
console.log("fizzbuzz");
} else if (num % 3 == 0) {
console.log("fizz");
} else if (num % 5 == 0) {
console.log("buzz");
} else {
console.log(num);
}
}