JavaScript递归

Server Side JavaScript with ASP

code


/**
 * Class Navigator
 * @author KimSoft 
 * @version build 2006-07-09 17:46
 * @copyright 2006 KimSoft All Rights Reserved.
 
*/

function  Navigator(boardId)  {
 
this._boardId = boardId;
 
this._db = $singleton(function () {return new DB();})();
 
this._nodes = [];
}

/**
 * @param boardId as board id
 * @exception throw it where excute db query
 
*/

Navigator.prototype.getNodes 
=   function  (boardId)  {
 
var sql = "select id, parentId, text from board where id=?";
 
var parentId, text;
 
try {
  
var rst = this._db.query(sql, boardId);
  
if (!rst.eof) {
   parentId 
= parseInt(rst.fields("parentId").value);
   
this._nodes[this._nodes.length] = $empty(rst.fields("text").value);
   
//this._nodes[this._nodes.length] = $empty(rst.fields("text").value).link("post.asp?act=list&boardId=" + boardId);
   this.getNodes(parentId);
  }

  rst.close();
  rst 
= null;
 }

 
catch (e) {
  
if ($debug.flag == true{
   
throw (e);
  }

  
this._nodes = [];
 }

}
;
/**
 * @seperator default as " -> "
 * @return string
 
*/

Navigator.prototype.toString 
=   function  (seperator)  {
 
this.getNodes(this._boardId);
 
this._db = null;
 
delete this._db;
 
return this._nodes.reverse().join(seperator || " -> ");
}
;

// Response.Write(new Navigator(145).toString()); //for test



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值