使用JSDoc在自执行函数中的文档对象

时间:2012-11-15 17:39:42

标签: javascript jsdoc

所以我有几个对象定义可以这样工作:

(function () {
var parent= constructors.Parent.prototype;

/**
 * Creates an instance of Child.
 * 
 * @constructor
 * @augments Parent
 * @this {Child} 
 * @param {object} settings
 */
var Child= function(settings) {
    constructors.Parent.apply(this, arguments); //calling parent constructor
    //constructor code
}

Child.prototype= new constructors.Parent();

/**
 * Method1
 *
 * @this {Child}
 * @param {string} param1
 * @param {number} param2
 */
Child.prototype.method1= function(param1, param2)  {
    parent.method1.apply(this,arguments); //calls "super"
    //method code
}
constructors.Child= Child;
}());

我这样做所以只有全局变量才是'构造函数',所以我不必一直说'construtors.Child'。但JSDoc3忽略了我的评论,并且没有在此代码上生成任何内容。有人知道任何特殊标签来解决这个问题吗我不介意JSDoc是否将我的类名称显示为“Child”或“constructors.Child”,无论哪种方式都可以。

2 个答案:

答案 0 :(得分:0)

我不确定这是否是正确的方法,但它有效:

在另一个文件中,我现在有以下内容:

/**
 * @module constructors
 */
constructors= {}

在我之前提到的文件中,我现在有:

/**
 * @exports constructors
 */
(function () {
var parent= constructors.Parent.prototype;

/**
 * Creates an instance of Child.
 * 
 * @constructor
 * @augments Parent
 * @this {Child} 
 * @param {object} settings
 */
var Child= function(settings) {
    constructors.Parent.apply(this, arguments); //calling parent constructor
    //constructor code
}

Child.prototype= new constructors.Parent();

/**
 * Method1
 *
 * @this {Child}
 * @param {string} param1
 * @param {number} param2
 */
Child.prototype.method1= function(param1, param2)  {
    parent.method1.apply(this,arguments); //calls "super"
    //method code
}
constructors.Child= Child;
}());

答案 1 :(得分:0)

@public前面使用@class/@module/@namespacehttps://github.com/jsdoc3/jsdoc/issues/442