请老教室关于travel的循环过程

请老教室关于travel的循环过程

老师,我能看懂次的node。childNodes 是声明稳当和html,声明没有tagName,跳过,html有执行,space+"|-",node.chindNodes[1],得到、|-html,node的子节点是2个一个是声明一个是html,但是为什么还会进入html的子节点循环?


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,是说这里执行两层循环吗?

不能这么理解哦。这里循环是会重复执行。但是不止循环,是整个函数都会执行的。

比如:遍历到html有两个子节点,然后会分别对这两个子节点再次调用函数。先进入head,看head标签是否有子节点,有的话,继续进去遍历。

没有话,head这个结束了,然后进行body的遍历。

祝学习愉快~

  • 慕UI4313976 提问者 #1
    谢谢老师,开始有点明白了,慢慢理解,520快乐
    2020-05-20 22:35:24
好帮手慕糖 2020-05-20 11:16:56

同学你好,for需要这里是遍历当前节点的子节点,若是有的话,就会执行循环,没有就不执行。

执行循环内容是:travel(space+"|-",node.childNodes[i]);    就是如果当前的节点含有子节点,则继续调用travel()。

传入的第二个参数就是node.childNodes[i],当前节点的每一个子节点了。接下来会继续,那个元素有子节点,还会执行。

可以带着这里理解,再回顾下课程哦。

如果我的回答帮助了你,欢迎采纳,祝学习愉快~

  • 提问者 慕UI4313976 #1
    这样理解对吗? i 123 老师结束这里的条件是for里面的,能再将一下结束这里和回到II开始for吗? ii 123
    2020-05-20 17:23:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师