javascript:了解如何嵌套工作

时间:2017-04-09 12:17:49

标签: javascript arrays for-loop

从本书的这一章开始:http://eloquentjavascript.net/06_object.html("段落命名为一个表格") 我试图了解代码是如何工作的,今天我正在研究一个包含嵌套for的特定脚本。 所以从对象行开始:

function TextCell(text){
 this.text = text.split('\n')

}

这本书显示了这个:

  var rows = [];
for (var i=0; i<5;i++){
  var row = [];
  for (var j=0;j<5;j++){
    if ((j+i)%2==0)
      row.push(new TextCell("##"));
    else
      row.push(new TextCell(" "));


  }
  rows.push(row)
}

结果将是一个数组(长度为5)的数组(每个长度为5)。 每个内部数组包含5个TextCell对象(每个对象具有另一个数组(长度1),其中包含&#34; ##&#34;或&#34;&#34;

现在我需要了解嵌套的工作方式:

在这种情况下,我们有5x5操作权限吗?

So first step i=0:
  we create row=[] //that is empty
  start the inner for:
    j=0 so i+j=0 that is an even number so we push inside row "##"

接下来会发生什么?我们仍然在内循环(所以我仍然是0和j = 1)?并且我们将以这种方式进行(我们仍然保留在内部循环中:所以i = 0且j = 1; i = 0且j = 2等,然后当j到达5时,我们传递到外部循环,因此i = 1和j = 0,i = 1且j = 1等)

我希望我能很好地解释自己,我的理由是正确的吗?提前致谢

0 个答案:

没有答案