如何告诉JSDoc某个函数是函数定义的class的方法?

How to tell JSDoc that a certain function is a method of a functionally defined class?

示例代码:

/**
 * @module mymodule
 */

/**
 * my namespace
 * @namespace
 */
var MYMODULE = function() {
    var that = {};

    var MyClass;

    /**
     * @class
     */
    MyClass = function() {
        var that = {};

        var myClassMethod;

        /**
         * what to put here?
         */
        myClassMethod = function() {
        };
        that.myClassMethod = myClassMethod;

        return that;
    };
    that.MyClass = MyClass;

    return that;
}();

我希望 myClassMethod() 的文档出现在 JSDoc 为 class MyClass 生成的 HTML 页面上。我该怎么做?

您已将 @module 定义为 mymodule,从这一点开始,定义应该从 module:mymodule... 开始出现在 HTML 文档中您的模块下。下面是例子...

/**
 * @module mymodule
 */
 var mymodule= mymodule|| {};
 /**
  * my namespace
  * @namespace module:mymodule.MYMODULE
  */
 var MYMODULE = function() {
     /**
      * @class
      * @memberof module:mymodule.MYMODULE
      */
     MyClass = function() {
         /**
          * what to put here?
          * @memberof module:mymodule.MYMODULE.MyClass
          */
         myClassMethod = function() {
         }
     }
 }

请注意,如果您不在注释中重新定义名称,那么没有 @memberof 注释的一切都应该可以正常工作。我们将上述方法与 @memberof 结合使用 @alias 来精确控制我们希望在生成的文档中显示的内容。