问答详情
源自:9-14 删除节点removeChild()

老师给的for循环不懂

  for(var i=content.childNodes.length-1;i>=0;i--)

就是这句话,每次删除节点后 i=content.childNodes这个值是不是会变小?,那为什么还要i--?

提问者:DOFOR 2017-08-08 09:56

个回答

  • 慕哥7198511
    2017-08-08 21:36:48

    一共是五组数据对吧,content.childNodes.length的长度也就是数据的个数等于5。因为底标是从0开始所以要-1。 i=content.childNodes.length-1,i初始值是4对吧。 然后i=content.childNodes.length-1=3(因为i=4),以此类推,i=content.childNodes.length-1的长度是不变的,相当于是一个公式。实际上是第i个数据,删除第五个数据(删除i=4的数据)。换句话说for(i=4;i>=0;i--),那i=4也是不变的对吧

  • 慕哥7198511
    2017-08-08 15:09:22

    i=content.childNodes.length-1是说它的长度(也就是个数i=4),i--是依次减小,i=3,i=2,i=1,i=0