if if语句中的两个条件
问题描述:
我试图编写检查if语句中两个条件但没有运气的代码。if 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);}
答
使用&&
而不是和。
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);
}
答
首先,更改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);
}
那么它应该工作就像一个魅力!
您还需要修改缩进。
答
- 缩进。如果你使用IDE(如webstorm),应该有一个选项来自动格式化代码。 FYI:压缩在一段时间内对理解你自己的代码有很大的作用(例如,在你编写它之后:))
- 我不会称之为js因为有逻辑AND运算符:
&&
而不是and
。乍看之下,甚至可以被视为伪代码的一部分,坏的伪 -
if
语句结构像if (condition) operator
,所以当你要检查多个条件,你应该用括号包起来:if (condition1 && condition2 && ... && conditionN)
。所有的条件最终都等同于评估后检查的单一条件。 - 当然,
if
声明允许您使用而不是来包装具有卷曲编号的运营商:if (condition) some operator;
。但是如果你写if (condition) {operator}
,它更具可读性和可理解性。例如,当你改变你的代码并想添加更多的操作符时,它会从一些令人困惑的错误中得到更多的保护。比方说,你想写水木清华这样的:
if(everythingIsOk)informUser;
比方说,你想,如果一切正常的添加消息。你可以这样写:
if (everythingIsOk)
informUser;
writeMessage;
在上面的例子中,你让程序写信息,因为它是一个单独的指令。如果您最初编写if (everythingIsOk){informUser}
,只需添加一个必须在此特定情况下执行的指令就会更容易。更重要的是,它更具可读性。
你可能会感到惊讶,但以下是有效的太:
if (everythingIsOk);
以下是更具可读性,因为至少这会让别人觉得你没有忘记你的建筑在中间的某个地方:
if (everythingIsOk){}
最后,如果你想强调,没有什么应该在某些情况下完成的,这是方法(仅供参考):
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);
}
}
- 我建议你在你学习更准确地至少例子读取。
缩进和正确的格式化将会很长。 – Ibu
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators – Bergi