js递归调用注意return返回值

递归调用函数时返回的object通过打印有值,但是在获取的时候是undefined,原因是在递归函数内部没有对递归函数进行return,否则外层函数无法接收到返回值。

调用:

//获得公司树结构中的已选中节点

var selectedNode = $("#resourceTree").tree('getSelected');

//console.log(selectedNode);

var rootNode = getTreeRoot(selectedNode);

console.log('rootNode====')

console.log(rootNode);

if(rootNode !=null && rootNode != 'undefined' &&rootNode.text == '金控'){

alert('金控');

}else{

alert('非金控');

}

递归方法:

//获得公司结构的节点node对应的最上层节点

function getTreeRoot(node){

console.log('getTreeRoot====node');

console.log(node);

var parentNode = $("#resourceTree").tree('getParent',node.target);

console.log('getTreeRoot()=====');

console.log(parentNode);

if (parentNode == null){

console.log('getTreeRoot()=====null');

console.log(node);

return node;

}else{

console.log('getTreeRoot====else');

//这里需要对递归方法进行return

return getTreeRoot(parentNode);

}

}

---------------------

作者:雪落夜

来源:CSDN

原文:https://blog.csdn.net/a1017680279/article/details/72953887

版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(js递归调用注意return返回值)