为了账号安全,请及时绑定邮箱和手机立即绑定

两行及其相似代码的区别

for(var i=0;i<content.childNodes.length;i++)

  {

    content.removeChild(content.childNodes[0]);

  }

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

  { 

    var x=content.removeChild(content.childNodes[0]);


  }


正在回答

1 回答

一个递增,一个递减,还有一点content.removeChild(content.childNodes[0]); 这块应该是i吧

0 回复 有任何疑惑可以回复我~
#1

Interstaller_Wei 提问者

我明白区别了,上面那个东西在计算length的时候,length一直在减小,因此循环次数最后其实小于content.childNodes.length次,而下面的则等于content.childNodes.length次,因此结果有差别
2015-12-01 回复 有任何疑惑可以回复我~
#2

一毛钱 回复 Interstaller_Wei 提问者

不好意思,当时给你说错了,这个是不一样的。因为循环遍历的时候,一边遍历一边删除,这样导致的结果就是会找不到要删除的数据,比如说content有五个元素,i=3时,content只有2个了,你再去获得content[i]已经不存在了。后面的方法可以删除,前面的方法不能一次全部删除
2015-12-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

两行及其相似代码的区别

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信