呵呵,最短路径算法,忘光光不过 JS 很是能看懂的,LZ 的代码在实例化 Point 时只能初始化 id 一个属性,相邻节点数目以及相邻节点集合根本没有初始化,不知道 LZ 何时处理其它属性。至少应该这个样子吧?// 相邻节点数组。
var nextPoints = new Array(p1, p3, p5);// 如果不喜欢数组,就直接传入,用 arguments 获取。
function Point(n, nextPoints){
var i;
this.id=n;
this.nextnum=nextPoints.length;
this.ed=null;
for(i=0;i<this.nextnum;i++){
this.next[i]_id=nextPoints[i].id;
this.next[i]_dis=nextPoints[i].dis;
this.next[i]_weight=nextPoints[i].weight;
}
}

解决方案 »

  1.   

    多谢,因为是做gis系统,其他属性可能要在其他的函数中处理后传递过来再赋值,可行否?
    thanks
      

  2.   

    可以的.你要指定set方法即可.
      

  3.   

    不知楼上的能否说得详细一些?
    thanks very much
      

  4.   

    具体问题具体分析.你可以去找本关于JavaScript OOP 的书看看.或者 看看别人现成的开源类源码.学学别人的用法,就知道了.
    大一些的象 prototype  jquery  Yahoo UI 这些.都是蛮经典的OOP源码.