这个程序我有两个地方看不懂?
1.可以在执行函数的时候直接把document传进去当参数吗?
2.函数执行的时候,第一行node.tagName不会报错吗?因为传进去的是document,而据我所知,document没有tagName这个属性,可是程序却没有报错,不知道为什么?
DOM Travelvar s = "";
function travel(space, node) {
if (node.tagName) { // 如果当前节点是标签,不是空的,就拼接字符串
console.log(node.tagName);
s += space + node.tagName + "
";
}
var len = node.childNodes.length; //保存当前节点的子节点的个数
for (var i = 0; i < len; i++) { //遍历节点的子节点
travel(space + "|-", node.childNodes[i]);
}
}
travel("", document);
document.write(s);