3

例子:

/**
 * @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 原型的函数“getPath”,“getPath”函数上的注释文档是否应指定:

@memberOf {AStar.prototype}

或者

@memberOf {AStar}

?

4

1 回答 1

2

JavaScript 代码声明getPathAStar对象的方法。如果您不提供@memberOf标签,jsdoc 可以自行确定:文档将getPath其列为AStar对象的方法。所以你不需要使用@memberOf你在问题中引用的任何一个选项。

此外,在您问题的特定情况下,除非您使用带有感叹号的表单,否则jsdoc 不会使用您的@memberof标签。如果 jsdoc 认为它比你更清楚该方法是什么成员,那么没有标记的表单可以被 jsdoc 忽略。带有感叹号的表单强制 jsdoc 不忽略它。因此,要对文档产生影响,您必须使用.@memberof!@memberof!

于 2014-04-03T11:41:18.590 回答