我有一个JS数据对象,它只包含一些静态项。我并没有一次性宣布这一切{};我从一个空对象开始,一次添加一个项目。 E.g:
var ScapeStuff = {};
// some generic stuff
ScapeStuff.generic = new SomeClass(...);
// water
ScapeStuff.water = new SomeClass(...);
// dirt of various moisture levels
var dry = someValue
var wet = anotherValue
// interpolate moisture...
ScapeStuff.dirt0 = new SomeClass(dry);
ScapeStuff.dirt1 = new SomeClass((dry + dry + wet) / 3);
ScapeStuff.dirt2 = new SomeClass((dry + wet + wet) / 3);
ScapeStuff.dirt3 = new SomeClass(wet);
// some other types of stuff..
// finally, export this data object
module.exports = ScapeStuff;
我想用JSDoc来记录我的ScapeStuff数据对象,并将// water
之类的注释行替换为描述该事物的JSDoc注释。
我可以在ScapeStuff = {}
上方添加一个巨大的JSDoc注释,并使用@member
为每个属性项编写描述,但文件可能很长,所以我真正想要的是对该属性之前的源中的每个属性都有JSDoc注释。
在这种情况下,使用内联JSDoc注释的正确方法是什么?
答案 0 :(得分:1)
自己找到答案。
首先,我将ScapeStuff容器记录为@namespace
,如下所示:
/**
* Stuff (that is, THREE.Material) that things in scapes can be made out of.
* @namespace
*/
var ScapeStuff = {};
现在我可以使用@memberof
告诉JSDoc我添加到最初空对象的每个新东西都是ScapeStuff名称空间的成员。
/** some generic stuff
* @memberof ScapeStuff */
ScapeStuff.generic = new SomeClass(...);
/** water
* @memberof ScapeStuff */
ScapeStuff.water = new SomeClass(...);
所以,我实现了我的愿望 - 我可以记录成员在源代码中出现的位置,并且仍然让JSDoc将它们显示为在父对象中。我也好!