js递归调用注意return返回值

来源:互联网 发布:淘宝9秒视频制作软件 编辑:程序博客网 时间:2024/05/22 04:53
递归调用函数时返回的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');//这里需要对递归方法进行returnreturn getTreeRoot(parentNode);}}

原创粉丝点击