循环内部的JavaScript变量更改

循环内部的JavaScript变量更改,javascript,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.inner

我有一个循环:

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>";
}
for(变量i=0;i

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

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

第二个警报将显示0,因为它位于if()语句中,用于检查mod==0。只有当mod=0时,才会执行它。如果mod=0,它将进入If循环并在那里执行语句。if语句包含警报(mod)。因此,它将打印mod等于零的值。
在您的第一个警报中,它将计算mod的值,并将打印变量mod的值(不管它是否为零)。

您是对的,但是当它不是==0时,它会输入我的if语句事件@AsafNevo:)而且我认为最好在这里使用
===
而不是
=
(虽然在这里没什么大不了的,但它更传统)。如果你看到了,请把标记看作是接受的答案。TNX因为你的第二个警告在<代码> >(mod=0)< /Cord>语句…