2012-12-10 75 views
-4
for (var i = 1; i <= 9; i++) { //this is the outer loop 

    document.write("<tr>"); 
    document.write("<td>" + i + "</td>"); 

    for (var j = 2; j <= 9; j++) { // This is the inner loop 
     document.write("<td>" + i * j + "</td>"); 
    } 

    document.write("</tr>"); 
} 

document.write("</table>"); 

任何人都可以解释这是如何工作的内循环?任何人都可以解释如何内循环工作?

+4

非常差的非问题。内部循环是一个循环。故事结局。我没有投票结束的唯一原因是我没有接近票数。 –

+1

看看结果,看看自己http://jsfiddle.net/mowglisanu/SgCgm/ – Musa

+0

其实,我相信提问者只是想了解另一个for循环内的for-loop如何工作..... 。 – luiges90

回答

1

当首次进入外循环时,i = 1,并创建一行<tr>以及第一个数据<td>

当进入内循环时,它将j从2迭代到9,填充更多数据<td>,并将迭代索引ij相乘并输出结果。

退出内循环时,它结束在内循环之前启动的行</tr>

现在 - 再次重复上述三个步骤,包括内环,因为我从2,一直到9

结果,你会得到一个9x9的乘法表。


请考虑以下轨道。黑线是外环,红线是内环。每当你看到它时,在轨道上打印文本,并用各自的变量代替ij

http://i.minus.com/ibzsxcxCnucqpP.png

在这个程序中,你必须运行黑色循环9次,并记住,当你去通过启动线,1 i从1开始,你进入这个轨道之前增加i

而且,当你达到每次红色环,进入循环,经过该循环8次,加1 j,始于2,和每次到达红灯时间重置j 2通过黑色循环后再次循环。

因此,您将运行红色循环9 x 9 = 81次,并且每次进入红色循环时,计算出i*j并输出它。

的渔获量:

  • 当你经历他的红环,黑循环计数器i永远不会改变,直到退出红色循环。
  • 当你走进红遍历黑环运行后,j复位至2(j = 2部分在for循环语句)

最后但并非最不重要的,可能这个代码是生成乘法表的一些更优雅的方法。

for (var i = 1; i <= 9; i++) { //this is the outer loop 

    document.write("<tr>"); 

    for (var j = 1; j <= 9; j++) { // This is the inner loop 
     document.write("<td>" + i * j + "</td>"); 
    } 

    document.write("</tr>"); 
} 
相关问题