如何在自调用函数中记录简单类?

时间:2014-10-07 15:05:59

标签: javascript documentation jsdoc jsdoc3

如何记录以下代码片段?当我离开它时Foo.bar没有描述。当我添加@memberof标记时,它将被记录为静态属性。添加@instance标记不会改变任何内容。这是一个相当简单和通用的代码模式,因此它应该很容易记录,我是对的吗? 我讨厌jsdoc ......

/**
 * @namespace
 */
var ns;

(function (ns) {
    'use strict';

    /**
     * Constructs class
     * @class ns.Foo
     */
    function Foo() {
    }

    /**
     * Blabla
     */
    Foo.prototype.bar = function () {

    };

    ns.Foo = Foo;

})(ns || (ns = {}));

2 个答案:

答案 0 :(得分:3)

使用@lends告诉jsdoc您在函数中拥有的内容属于您的命名空间。这样您就不必在任何地方使用@memberof来编写代码。当我在这里运行时,以下工作:

/**
 * @namespace
 */
var ns;

(/** @lends ns */ function (ns) {
    'use strict';

    /**
     * Constructs class
     * @class
     */
    function Foo() {
    }

    /**
     * Blabla
     */
    Foo.prototype.bar = function () {

    };

    ns.Foo = Foo;

})(ns || (ns = {}));

答案 1 :(得分:1)

我认为除了@instance之外,还需要添加@function和@memberof。这告诉jsdoc它是什么以及它适合的位置:

/**
 * Blabla
 * @function bar
 * @memberof ns.Foo
 * @instance
 */
Foo.prototype.bar = function () {

};

我也发现jsdoc钝了......挂在那里。 : - )