JavaScript变量在for循环中变化

时间:2014-02-02 10:06:37

标签: javascript

我有这个循环:

for (var i = 0; i < pictures.length; i++) {
    var mod = i % 4;
    alert(mod); // first
    //get the current row
    if (mod == 0)
    {
        alert(mod); //second
        tableBody.innerHTML += "<tr>";
    }
    tableBody.innerHTML += "<td><img style='width:146px; height:146px;' src='" + pictures[i].source + "'></td>";
    if (mod == 0)
        tableBody.innerHTML += "</tr>";
}

为什么我的第一个警报会在“mod”变量中显示数学计算的结果,而第二个警告显示为零?

3 个答案:

答案 0 :(得分:2)

因为当且仅当mod == 0执行第二个警报时。

答案 1 :(得分:0)

第二个警告将显示0,因为你在if()语句中检查是否mod == 0

答案 2 :(得分:0)

来吧,你的第二个警告是if()语句。只有当mod = 0时才会执行它。如果mod = 0,它将进入if循环并执行那里的语句。你的if语句包含alert(mod)。因此,它将打印mod的值,该值等于零。 在你的第一个警报中,它将计算mod的值,并将打印变量mod的值(无论是否为零)。