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

老师给的for循环不懂

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

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

正在回答

2 回答

一共是五组数据对吧,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也是不变的对吧

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

DOFOR 提问者

for(i=4;i>=0;i--),那i=4,恩这个i不变,但是 i=content.childNodes.length-1这个不就变了吗,每次循环不就自动少一位吗,i--的话就又少了,不就多减了一次吗?我还是不懂唉
2017-08-08 回复 有任何疑惑可以回复我~
#2

慕运维3393194 回复 DOFOR 提问者

for循环里var i=content.childNodes.length-1;只在第一次执行,不进入循环,比如: var j=0 for(j++;j<5;j++){ document.write(j); }输出的是1234,
2017-08-26 回复 有任何疑惑可以回复我~
#3

DOFOR 提问者 回复 慕运维3393194

凹,这样啊,虽然节点删除了,但是它只执行一次喽
2017-08-28 回复 有任何疑惑可以回复我~

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

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

DOFOR 提问者

不是删除节点后,他的子节点变少了,那content.childNodes.length不也就小了吗?
2017-08-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468044    人
  • 解答问题       21891    个

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

进入课程

老师给的for循环不懂

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