JSDoc:注释导出的方法

时间:2015-02-09 13:55:30

标签: javascript annotations documentation-generation jsdoc

如果我定义这样的对象:

/**
 * My Cool Object
 * @constructor
 */

 function MyCoolObject() {

       /**
        * Cool Method, private
        * @param {!string} parameter
        */

       function localMethod(parameter) {
           // do stuff
       }

       // Export the method
       this.exportedMethod = localMethod;

 }

我想知道,如果可能的话,如何告诉 JSDOC localMethod中使用exportedMethod的注释,或者我该如何注释? exportedMethod,因为如果我这样做:

       // Export the method

       /**
        * Cool Method 
        * @param {!string} parameter
        */
       this.exportedMethod = localMethod;

JSDOC 假设它是一个字段而不是一个方法,然后只使用描述,忽略@param部分。

1 个答案:

答案 0 :(得分:1)

我会把它减少到:

/**
 * My Cool Object
 * @constructor
 */

function MyCoolObject()  {
    /**
     * Cool Method, private
     * @param {!string} parameter
     */
    this.exportedMethod = function (parameter) {
        // do stuff
    };

}

如果您想要本地引用该方法,您可以立即执行var localMethod = this.exportedMethod。如果您过度简化了示例并且需要在分配到localMethod之前首先分配给this.exportedMethod,那么您可以这样做:

/**
 * My Cool Object
 * @constructor
 */

function MyCoolObject()  {

    function localMethod(parameter) {
        // do stuff
    }

    /**
     * Cool Method, private
     * @param {!string} parameter
     * @function
     */
    // Export the method
    this.exportedMethod = localMethod;

}

@function声明告诉jsdoc它正在处理一个函数。