js递归调用注意return返回值

时间:2025-03-23 08:14:54
递归调用函数时返回的object通过打印有值,但是在获取的时候是undefined,原因是在递归函数内部没有对递归函数进行return,否则外层函数无法接收到返回值。
调用:	
			//获得公司树结构中的已选中节点
			var selectedNode = $("#resourceTree").tree('getSelected');
			//(selectedNode);
			var rootNode = getTreeRoot(selectedNode);
			('rootNode====')
			(rootNode);
			if(rootNode !=null && rootNode != 'undefined' && == '金控'){
				alert('金控');
			}else{
				alert('非金控');
			}
递归方法:
		//获得公司结构的节点node对应的最上层节点
		function getTreeRoot(node){
			('getTreeRoot====node');
			(node);
			var parentNode = $("#resourceTree").tree('getParent',);
			('getTreeRoot()=====');
			(parentNode);
			if (parentNode == null){
				('getTreeRoot()=====null');
				(node);
				return node;
			}else{
				('getTreeRoot====else');
				//这里需要对递归方法进行return
				return getTreeRoot(parentNode);
			}
		}