JavaScript注释文档(JSDoc):@memberOf还应该指定“prototype”吗?

时间:2013-11-16 11:10:00

标签: javascript jsdoc memberof

示例:

/**
 * @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) {
//(...)
};

如上面的代码所示,将函数“getPath”添加到AStar的原型中,“getPath”函数上的带注释的文档是否应指定:

@memberOf {AStar.prototype}

@memberOf {AStar}

1 个答案:

答案 0 :(得分:1)

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

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