有个疑问解答下
来源:7-7 编程练习
vivi_li
2020-04-29 17:45:32
请检查下正确与否,另外有个疑问 这个封装函数没有设置返回值,是如何打印出来了s,是因为外面设置了s是全局变量么
<script>
// 此处补充代码
var s = "";
function travel(space, node) {
if(node.tagName){
s += space+ node.tagName+"<br>";
}
for(var i = 0;i<node.childNodes.length;i++){
travel(space+"*",node.childNodes[i]);
}
}
travel(" *",document);
document.write(s);
</script>
3回答
同学 你好,是的,第一次传入的是document,它没有标签名,所以不会进入if语句里面,会向下执行for循环,遍历它的子节点:
祝学习愉快~
好帮手慕粉
2020-04-30
同学你好,document是一个对象,它没有标签名的,每个载入浏览器的 HTML 文档都会成为 document 对象,document 对象只是可以使我们从脚本中对 HTML 页面中的所有元素进行访问。
祝学习愉快~
好帮手慕粉
2020-04-29
同学你好,关于同学的问题回答如下:
1、代码实现的是正确的。
2、是的,因为s是定义在全局的,然后在调用函数时,对s进行了拼接:
祝学习愉快~
相似问题