我希望我的代碼,如下所示,可以生成描述JSDoc(v2.4.0)的對象文本的每個屬性的文檔,但它不起作用。有誰知道如何使用JSDoc從使用getter/setter的代碼生成文檔?JSDoc和JavaScript屬性獲取器和設置器
/** Enum of days of week. */
var Day = {
/** Sunday. */
get Sun() { return 0; },
/** Monday. */
get Mon() { return 1; },
/** Thuesday. */
get Tue() { return 2; },
/** Wednesday. */
get Wed() { return 3; },
/** Thursday. */
get Thu() { return 4; },
/** Friday. */
get Fri() { return 5; },
/** Saturday. */
get Sat() { return 6; }
}
語法演示了ES5語法,它現在是完全標準的,並且不是所有實現特定的。至於get/set不是關鍵字,在這裏查看它們的正確方法是它們是* contextual *關鍵字。如果'get'後面的標記是冒號,則它是一個數據屬性。如果'get'後面的標記是名稱,則它是一個訪問器屬性。 (當然,'set'也一樣。) – 2011-12-01 08:49:58
@Jeff這是一個有趣的筆記。我玩過一段遊戲,這個語法在ie9,ff3.5,chrome15和node中似乎很好用,但顯然不在老版本的IE中。我已經閱讀過有關ES5'defineProperty'(可在IE8 +中使用)的內容,但我沒有遇到ES5規範中的對象字面語法。我稍微更新了我的答案。 – 2011-12-01 13:33:05
@Jeff作爲一個側面問題,你知道是否有可能定義一個在IE6-IE7中提供最基本的getter/setter功能的嵌入式Object.defineProperty函數? – 2011-12-01 13:40:38