0

我有一个 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 数据对象,并将注释行替换为// water描述该事物的 JSDoc 注释。

我可以在上面添加一个巨大的 JSDoc 注释ScapeStuff = {},并用于@member为每个属性项编写描述,但文件可能很长,所以我真正想要的是在源代码中的每个属性的 JSDoc 注释之前财产。

在这种情况下,内联 JSDoc 注释的正确方法是什么?

4

1 回答 1

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 将它们显示为在父对象中。耶我!

于 2015-02-25T06:58:32.217 回答