为啥正着删除就得好几次删除,感觉不太对,为啥倒着删除,就可以一次性删除?就算正者删除长度会变化那又如何?
你看一下http://www.imooc.com/qadetail/56371,虽然懂解释但是他解释得更好
哎呀,你回答的真的很棒,很在点上,感觉自己还是得勤于思考啊,明明可以想出来的,一个字,懒!,非常感谢,嘻嘻
1.
for(var i=0;i<content.childNodes.length;) {
var x=content.removeChild(content.childNodes[0]); } //每次删除第一个,length会-1,length等于0,退出循环
}
同理 var x=content.removeChild(content.childNodes[0]); 变为
var x=content.removeChild(content.childNodes[content.childNodes.length-1]);
每次删除最后一个,length会-1,length等于0,退出循环
2.
按照他的距离现在按完一次后, content.childNodes.length=2,再按一次
i=0 content.childNodes.length=2 0<2 删除第一个节点后,继续循环
i=1 content.childNodes.length=1 1<1 不成立,所以不继续。
再按一次
i=0 content.childNodes.length=1 0<1 删除第一个节点后,继续循环
i=1 content.childNodes.length=0 1<0 不成立,所以不继续。删除完毕
3.
var x=content.removeChild(content.childNodes[0]);
是这个没错,他的意思是每次删除第一个,删除length次,所以把所有的都删完了,原理跟我1说的一样.