例:

/**
 * @constructor
 * @Returns {AStar}
 */
function AStar() {


};

/**
 * @public
 *
 * Should this be:
 * @memberOf {AStar.prototype}
 * Or:
 * @memberOf {AStar}
 *
 * @param {Number} startX
 * @param {Number} startY
 * @param {Number} destinationX
 * @param {Number} destinationY
 * @returns {Path}
 */
AStar.prototype.getPath = function(startX, startY, destinationX, destinationY) {
//(...)
};

对于如上述代码中添加到AStar原型(prototype)中的函数“getPath”,应在“getPath”函数上带注释的文档中指定:
@memberOf {AStar.prototype}

要么
@memberOf {AStar}

最佳答案

JavaScript代码将getPath声明为AStar对象的方法。如果您不提供@memberOf标记,则jsdoc可以自行确定:文档将getPath列为AStar对象的方法。因此,您无需使用在问题中引用的@memberOf选项。

此外,在特定情况下,除非您使用带有感叹号@memberof的表单,否则jsdoc将不会使用@memberof!标记。如果jsdoc认为比方法更了解该方法的成员,则可以忽略不带标记的表单。带有感叹号的表单会强制jsdoc不要忽略它。因此,要对文档产生影响,就必须使用@memberof!

关于javascript - JavaScript带注释的文档(JSDoc):@memberOf是否也应指定 “prototype”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20017694/

10-09 23:54