JS的for循环嵌套如何理解啊!?头都挠破了!!!

JavaScript014

JS的for循环嵌套如何理解啊!?头都挠破了!!!,第1张

哈哈哈。你知道Excel表格吗?Excel表格中行和列知道吗?行用数字表示,列用字母表示。

如下

双for循环外层就是控制1-6的行,里面的for循环就是控制每行中的A-H。而每个单元格应该是个平面坐标系统,比如说 (1,A)就表示图中当前选中的第一个单元格,那么 (6,H)就表示右下角最后一个单元格。以上一共有6行*8列单元格。用js程序表示如下:

for(var row =0row<6row++){

   for(var col=0col<8col++){

      // 此处就可以拿到单元格。

      console.log(row,col)

   }

}

你这两行代码是在lis[i].onmouseover这个事件过程中的,也就是说它们并不是在for循环中直接执行的,而是在鼠标划过对应的li时才执行的,这个时候for循环早就运行完毕了,那么lis[i].className="select"中的这个i跟for循环的i就不存在关系了(即使有关系,它也是个固定值了,即lis.length,也就是for的循环终值)。这种情况下只能在对事件过程初始化的时候把i通过对象属性(lis[i].id)传递到事件过程内。

<script>

for(var i=1,m=1,n=0i<101i++){

if(i%3==0){

document.write(i+" ")

if(++n==m){document.write("<br />")m++n=0}

}

}

</script>