所以我有几个对象定义可以这样工作:
(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”,无论哪种方式都可以。
答案 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/@namespace
见https://github.com/jsdoc3/jsdoc/issues/442