我正在使用模数来找出哪些数字可以被 3 整除,但我的 if 语句被视为语句而不是条件语句。
https://jsfiddle.net/gyoyfv7L/
我的代码
var i = 1;
while (i < 101){
if(i % 3 = 0){
$("#main").append("divisible by 3");
}
else{
$("#main").append(i + '<br />');
}
i++;
}
最佳答案
=
用于赋值。您需要 ==
或 ===
进行相等性检查。
if(i % 3 == 0){
// ------^^
或
if(i % 3 === 0){
// ------^^^
==
是“松散的”,因为它使用 JavaScript 的(有时令人惊讶的)规则进行类型强制转换。 ===
是“严格的”,因为在比较不同类型的值时它始终为 false。
旁注:当您有一个由控制变量的初始化、该变量的测试以及最后对该变量的无条件更新组成的循环时,最好为此使用惯用的循环结构(for
) 而不是 while
:
for (var i = 1; i < 101; i++) {
if(i % 3 == 0){
$("#main").append("divisible by 3");
}
else{
$("#main").append(i + '<br />');
}
}
关于javascript - If 语句中的模被视为语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31813615/