实现类似document.getElementsByTagName("*");的功能
function getAllNodes(d){
//判断下参数
d === '*' && (d = document.getElementsByTagName('html'));
//用arguments[1] 初始化一个空数组
!arguments[1] && (arguments[1] = []);
for(var i = 0,l = d.length;i < l;i++){
//nodeType === 1 时 push
d[i].nodeType === 1 && arguments[1].push(d[i]);
//有子节点 arguments[1]作为参数继续调用 arguments.callee 可以调用自身 匿名函数常用
d[i].hasChildNodes() && arguments.callee(d[i].childNodes,arguments[1]);
}
//把arguments[1] return出来
return arguments[1];
};
console.log(getAllNodes("*"));