例:
/**
* @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/