3

jsdoc を使用してコンストラクターの 2 つの署名を定義する方法を知りたいです。

makeClass("Person",
/** @lends Person */
{
    /**
        @constructs
        @param {int} p1
    */
    /**
        @constructs
        @param {string} p1
    */
    constructor: function () {

    },

    /**
        @name Person.prototype.func
        @function
        @param {object} arg arg desc
    */
    /**
        @name Person.prototype.func^2
        @function
        @param {int} arg arg desc
        @param {int} arg2 arg2 desc
    */
    func: function () {

    }
});

これにより、{string} p1 を持つ 1 つのコンストラクターが生成されます。

ご協力いただきありがとうございます

4

2 に答える 2

4

JSDoc には、Visual Studio XML Doc の複数の署名に相当する概念がありません。1 つのオプションは、パラメータを複数の可能なタイプを持つものとして文書化し、一部をオプションとしてマークすることです。

/**
 * @param {Number|Object} arg Description of arg
 * @param {Number} [arg2] Description of arg2
 */
于 2012-06-20T18:24:06.580 に答える
3

JavascriptMVCプロジェクトによって使用/作成されたドキュメント ツールDocumentJSは、同じメソッドの複数の署名に注釈を付けることができる新しい "@signature" 注釈をリリースしました。

私は多くのドキュメントを見つけることができませんが、ソース(簡潔にするために編集)によると、それは簡単に見えます:

   /**
     * @signature `observe.attr()`
     * @return {Object<String, *>} an object with all the properties in this `can.Observe`.
     * 
     * @signature `observe.attr(key)`
     * @param {String} key the property to read
     * @return {*} the value assigned to _key_.
     *
     * @signature `observe.attr(key, value)`
     * @param {String} key the property to set
     * @param {*} the value to assign to _key_.
     * @return {can.Observe} this Observe, for chaining
     */
   attr: function( attr, val ) {
于 2013-08-15T03:04:37.160 に答える