我有一个 JS 数据对象,它只保存一些静态项目。我不会在 { }; 中一次性声明所有内容;我从一个空对象开始,然后一次添加一个项目。例如:
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 数据对象,并用描述该事物的 JSDoc 注释替换 //water
等注释行。
我可以在 ScapeStuff = {}
上方添加一个巨大的 JSDoc 注释,并使用 @member
为每个属性项编写描述,但该文件可能是很长,所以我真正想要的是源代码中每个属性的 JSDoc 注释就位于该属性之前。
在这种情况下使用内联 JSDoc 注释的正确方法是什么?
最佳答案
我自己找到了答案。
首先,我将 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 将它们显示为位于父对象内部。耶我!
关于javascript - 当我一一添加数据对象的成员时,使用 JSDoc 记录它们的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28689849/