0

我正在尝试记录类似于以下内容的内容,其中包含的属性是baz1和的成员bazzedbarbarFoo

/**
 * @class
 */
function Foo(){
  this.bar = {
     /**
      * The baz function
      */
     baz1: function(){},
     /**
      * The baz1 function
      */
     bazzed: 'bazzed'
  }
}

var foo = new Foo();

//call baz and baz1
foo.bar.baz();
foo.bar.baz1;

现在 JSDoc 文档Fooand bar,但是它错过了baz1and bazzed

我意识到我可以做这样的事情

/**
 * @class
 */
function Foo(){
  /**
   * @property {function} baz - Does baz
   * @proprety {string} baz1 - Stores baz1
   */
  this.bar = {
     /**
      * The baz function
      */
     baz1: function(){},
     /**
      * The baz1 function
      */
     bazzed: 'bazzed'
  }
}

但我不喜欢这样做,原因有以下三个:

  1. 有些课程baz2:function(){}通过baz10:function(){}
  2. 有些's 有很大的注释块,包含在's 的注释块baz中似乎没有意义。bar
  3. 在某些地方,代码foo.bar.baz.buzz()仅包含原因 1 和 2。

我知道这是一个很长的问题,但我在过去的 4 个小时里一直在寻找空白。

4

1 回答 1

0

将 bar 列为 Foo 的子类怎么样?

/**
 * @class
 */
function Foo(){
    /**
     * @class
     * @type {{baz1: baz1, bazzed: string}}
     */
    this.bar = {
        /**
         * The baz function
         */
        baz1: function(){},
        /**
         * The baz1 function
         */
        bazzed: 'bazzed'
    }
}
于 2014-03-26T17:24:30.737 回答