1

如何记录以下代码片段?当我保持原样时,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 = {}));
4

2 回答 2

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 = {}));
于 2014-10-07T16:20:51.050 回答
1

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

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

};

我发现 jsdoc 也很钝……坚持下去。:-)

于 2014-10-07T16:10:36.087 回答