我有这个循环:
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”变量中显示数学计算的结果,而第二个警告显示为零?
答案 0 :(得分:2)
因为当且仅当mod == 0
执行第二个警报时。
答案 1 :(得分:0)
第二个警告将显示0,因为你在if()语句中检查是否mod == 0
答案 2 :(得分:0)
来吧,你的第二个警告是if()语句。只有当mod = 0时才会执行它。如果mod = 0,它将进入if循环并执行那里的语句。你的if语句包含alert(mod)。因此,它将打印mod的值,该值等于零。 在你的第一个警报中,它将计算mod的值,并将打印变量mod的值(无论是否为零)。