比方說,我想創建一個名爲「頂點」的對象。如何用已定義的變量和函數創建JavaScript對象?
public class Vertex {
// member variables
public data;
private id;
// member methods
public Vertex() { /* default constructor */ }
public getID() { return id; }
}
現在,我會怎麼做,在JavaScript的:通常情況下,在Java中我會做這個的?我想保留私人還是公共?這是我迄今爲止設置的內容,但我認爲它不對,我從來沒有在JavaScript中處理過OOP。
/**
* Vertex constructor.
*/
function Vertex(object) {
data = object;
id = object.getCode(); // each Vertex will have a unique id which will be the city code
};
Vertex.prototype = (function() {
// Private Members here
// Public Members inside return
return {
constructor : Vertex,
getID : function() {
return (id);
}
};
我對原型並不熟悉,但我正在努力學習。這是正確的方法嗎?如果不是這樣,我基本上就是試圖完成上面的Java代碼,但是通過JavaScript來完成。
可能的重複:http://stackoverflow.com/questions/55611/javascript-private-methods – 2010-10-09 06:37:29
@David,我看過那篇文章...我想我模仿它正確,但我要問的原因是因爲當我將我的頂點對象打印到FireBug控制檯時,它不顯示任何值...所以我不認爲該對象是正確的。 – Hristo 2010-10-09 06:40:28
在這裏快速提示,你的'默認構造函數'是沒用的,JS中沒有重載。 – 2010-10-09 16:15:44