實現(xiàn)類似document.getElementsByTagName("*");的功能
function getAllNodes(d){
//判斷下參數(shù)
d === '*' && (d = document.getElementsByTagName('html'));
//用arguments[1] 初始化一個空數(shù)組
!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]);
//有子節(jié)點 arguments[1]作為參數(shù)繼續(xù)調(diào)用 arguments.callee 可以調(diào)用自身 匿名函數(shù)常用
d[i].hasChildNodes() && arguments.callee(d[i].childNodes,arguments[1]);
}
//把arguments[1] return出來
return arguments[1];
};
console.log(getAllNodes("*"));