2011-11-25 82 views
0

如何用預期的對象屬性記錄對象屬性? 例如,如果對象是這樣的:如何記錄對象屬性?

var Object = { 
    /** 
    * 
    */ 
    point: null 
} 

和點過這樣的結構:

{ 
    x, 
    y 
} 

反正是有說,點應該具有x和y屬性? 嗯,當然,我能做到這一點的描述,但我一直在尋找更好的方式來做到這一點,就像我們可以做這樣的PARAMS:

/** 
* @param {Object} point 
* @param {Number} point.x 
* @param {Number} point.y 
*/ 

回答

2

你總是可以做出Point類。

function Point(x, y) { 
    this.x = x; 
    this.y = y; 
} 

然後

var Object = { 
    /** 
    * new Point(x, y) 
    * @param {Point} point a point class 
    */ 
    point: null 
} 

其他明智的,我會做

/* 
* @param {Object} point {x, y} 
*/ 
+0

有時候我不希望有一個類定義,和其他對象需要在它們的屬性從而無效的意見第二選擇。 像@ google關閉那樣@typedef會很好,可以僞造一個在類列表中沒有條目的類,但會提供一個指向它的鏈接。 但是,無論如何,謝謝! – TrymBeast

+1

是的。我通常會使用第二個選項,並使用對象結構作爲註釋。 – Trevor