递归要记得返回

我定义了一个方法来寻找当前节点的父节点为LI的方法,然后打印出这个节点的类名。

刚开始我写的方法是:

function getLi(src) {
    if(src.nodeName === 'LI')
        return src;
    else
        getLi(src.parentNode);
}

src = getLi(src)

这样的话返回结果一直报错。

后来我才发现我在else中没有返回那个递归的数据。

修改后为

function getLi(src) {
    if(src.nodeName === 'LI')
        return src;
    else
        return getLi(src.parentNode);
}

src = getLi(src)

posted on 2012-11-15 17:24  TonyCoolZhu  阅读(311)  评论(0编辑  收藏  举报

导航