首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

关于javascript类的一个有关问题

2012-02-20 
关于javascript类的一个问题初接触javascript,用javascript实现Dijkstra算法,定义数据结构,不知如下的定义

关于javascript类的一个问题
初接触javascript,用javascript实现Dijkstra算法,定义数据结构,不知如下的定义方式是否可行:
function   Point(n){
var   i;
this.id=n;
this.nextnum=null;
this.marked=null;
for(i=0;i <this.nextnum;i++){
this.next[i]_id=null;
this.next[i]_dis=null;
this.next[i]_weight=null;
}
}


[解决办法]
呵呵,最短路径算法,忘光光

不过 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.marked=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;
}
}
[解决办法]
具体问题具体分析.

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

热点排行