3

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

(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;
}());

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

4

2 回答 2

1

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

于 2013-12-11T09:45:54.383 回答
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;
}());
于 2012-11-15T18:07:25.013 回答