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



 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值