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

老哥们,解释一下逻辑关系?

老哥们,解释一下逻辑关系?

Coding青天 2018-03-30 10:26:02
(function () {     var s="";     function traver(space,node) {         if(node.tagName){ // 如果存在标签名,则不是空白节点             s += space + node.tagName+ '<br/>';// 记录标签名称,以空格区分         }         var len=node.childNodes.length;//判断该节点子节点的长度         for(var i=0;i<len;i++){// 遍历该节点的子节点             traver(space +"|-",node.childNodes[i]);         }     }     traver("",document);     document.write(s); })();打印结果|-HTML|-|-HEAD|-|-|-META|-|-|-TITLE|-|-|-SCRIPT|-|-BODY|-|-|-DIV|-|-|-|-UL|-|-|-|-|-LI|-|-|-|-|-LI|-|-|-|-|-LI|-|-|-SCRIPT我刚开始传入的参数,是"" 和document,第一次打印出来的为什么不是HTML 而是 |-HTML,老哥们解释一下逻辑关系?
查看完整描述

3 回答

已采纳
?
什么鬼_呀你

TA贡献46条经验 获得超35个赞

if里面根据传入参数,得出为undefinded,什么都不打印出,然后遍历该节点子元素且作为参数传入当前方法,再进行if判断,然后就打印出以上结果了。也可以f12设置断点,查看执行顺序!

查看完整回答
1 反对 回复 2018-03-30
?
林逸舟丶

TA贡献124条经验 获得超28个赞

https://img1.sycdn.imooc.com//5abe1b4800013c7501950062.jpg

一张图告诉你答案

查看完整回答
1 反对 回复 2018-03-30
?
清书入

TA贡献5条经验 获得超4个赞

开始传入的参数是"" 和document,if里即为document.tagName

查看完整回答
1 反对 回复 2018-03-30
  • 3 回答
  • 1 关注
  • 1734 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信