鍍金池/ 問(wèn)答/HTML/ dom的廣度優(yōu)先遍歷,如下方法有什么問(wèn)題?

dom的廣度優(yōu)先遍歷,如下方法有什么問(wèn)題?

本人覺(jué)得如下方法種的node=nodes[i++]沒(méi)啥作用,想聽(tīng)聽(tīng)各位高見(jiàn)?

function wideTraversal(node) {
    var nodes = [];
    var i = 0;
    if (!(node == null)) {
        nodes.push(node);
        wideTraversal(node.nextElementSibling);
        node = nodes[i++];
        wideTraversal(node.firstElementChild);
    }
    return nodes;
}
回答
編輯回答
司令
  1. 回調(diào)寫(xiě)在 node = node[i++] 前面 ?!?。。?/li>
  2. if (! (node == null)) 你這是不是判斷 node 是否為空是吧?這樣就可以啦 if(node)
2017年12月20日 08:11
編輯回答
九年囚

恕我直言,這段代碼就是垃圾。

2018年1月22日 15:18
編輯回答
傻丟丟

按照你代碼現(xiàn)在的邏輯根本走不到node = nodes[i++];這一行

2017年11月9日 00:51
編輯回答
法克魷

瀉藥, 我也腳著沒(méi)什么亂用, 感覺(jué)他可能把遞歸和循環(huán)弄混了, 他想把元素的所有子元素都放進(jìn) nodes里, 然后再取出來(lái)遍歷, 但是每個(gè)遞歸都有各自的作用域, 這么寫(xiě)只能拿到最開(kāi)始的那個(gè)元素.

2017年3月1日 15:00