Javascript “替代方案”@名称“;用于记录“此”的属性`

Javascript “替代方案”@名称“;用于记录“此”的属性`,javascript,documentation,jsdoc,Javascript,Documentation,Jsdoc,我想知道如何记录这个。属性类的构造函数。例如,我尝试了@name标记来命名我的类,但它没有为this.foo生成文档: /** * @name ClassName * @constructor */ function noname (){ /** @type {String} */ this.foo = "bar"; } 我可以这样解决: /** * @name ClassName * @constructor */ function noname (){

我想知道如何记录
这个。
属性类的构造函数。例如,我尝试了
@name
标记来命名我的类,但它没有为
this.foo
生成文档:

/**
 * @name ClassName
 * @constructor
 */
function noname (){
    /** @type {String} */
    this.foo = "bar";
}
我可以这样解决:

/**
 * @name ClassName
 * @constructor
 */
function noname (){
    /** 
    * @type {String} 
    * @name ClassName#foo
    */
    this.foo = "bar";
}
或者以这种方式:

/**
 * @name ClassName
 * @constructor
 */
function noname (){
    /** @lends ClassName# */
    var that = this;

    /** @type {String} */
    that.foo = "bar";
}
然而,这两者都不令人满意,因为这要么需要更改大量现有代码,要么需要在jsdoc注释中添加所有属性名称


既然
@name
不起作用,有没有其他标签可以替代它?

尝试使用
@alias
标签:

/**
 * @alias ClassName
 * @constructor
 */
function noname (){
    /** @type {String} */
    this.foo = "bar";
}

通常,使用
@alias
标记重命名代码中存在的符号;如果您正在记录代码中未出现的符号(例如,在运行时生成的方法),请使用
@name
标记。

@name从以下代码中取消绑定docblock

警告:通过使用@name标记,您告诉JSDoc忽略周围的代码,孤立地处理文档注释。在许多情况下,最好使用@alias标记

因此,任何内部项也必须具有适当的@name(有关适当的语法,请参阅)