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

为什么会有不一样的效果?

为什么会有不一样的效果?


  //法二,一次性清除节点内容
/*   
   for(var i=content.childNodes.length-1;i>=0;i--){
      var chnode=content.childNodes[i];
      content.removeChild(chnode);  
   }
*/

  //法三,多次方清除节点内容
/*
   for(var i=0;i<content.childNodes.length;i++){
    var chnode=content.childNodes[i];
    content.removeChild(chnode);  
  }
*/

正在回答

1 回答

每清理一个子节点,content.childNodes.length就减1,最后一个子节点节点的角标也会减1。

所以法二一直在循环清除每个新的子节点序列中最后一个子节点,直到没有子节点。

而法三,第一次循环,首先子节点序列长度在递减,最多清除一半,可能还包含空白节点。有点类似二分法。所以要清除多次,每次差不多清一半。


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

举报

0/150
提交
取消

为什么会有不一样的效果?

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