javascript - If 语句中的模被视为语句

标签 javascript

我正在使用模数来找出哪些数字可以被 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/

相关文章:

javascript - 如何删除 pouchDB 中的身份验证模式

javascript - 在 Nodejs 中使用 ssh2 传输整个目录

javascript - 云函数错误 "Cannot read property ' 数据'未定义”

javascript - 是什么导致我的 chrome 扩展程序的 background.js 卡住并且不响应消息

javascript - 切换所有 div 元素的文本颜色

php - 如何在 php 中传递 $.getjson 数据,最好使用 laravel 的 @foreach

javascript - JavaScript 中的原型(prototype)和属性继承

javascript - 通过 JavaScript 未经授权访问 Google Calendar API

javascript - 访问嵌套类方法

javascript - Angular Directive(指令)将范围隔离到未定义的父绑定(bind)