老师给的for循环不懂

来源:9-14 删除节点removeChild()

DOFOR

2017-08-08 09:56

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

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

写回答 关注

2回答

  • 慕哥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也是不变的对吧

    DOFOR 回复慕运维339...

    凹,这样啊,虽然节点删除了,但是它只执行一次喽

    2017-08-28 09:20:47

    共 3 条回复 >

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

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

    DOFOR

    不是删除节点后,他的子节点变少了,那content.childNodes.length不也就小了吗?

    2017-08-08 15:18:16

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题