2

我第一次使用 jsdoc,它似乎不喜欢我的语法,我找不到它喜欢的任何东西:

(function(){  // issue #1
    /**
     * Creates an instance of a Cube animation
     * @class
     */
    function Cube(x, y, z){
       ...
    }

    /** @lends Cube.prototype */
    cubeFrame.prototype = { // Issue #2
       ...
    }
})();

问题 #1:由于某种原因,我收到“警告:尝试将someMethod记录为未记录符号 Cube 的成员”的错误。如果我把那个包装函数留在里面。如果我把它注释掉,它就可以工作。

问题 #2:我的课程有点奇怪,当我说@lends Cube.prototype将以下对象应用于Cube而不是cubeFrame. 我收到与 #1 几乎相同的错误:“警告:尝试将 getVoxel 记录为未记录符号cubeFrame的成员。”。我不想cubeFrame被记录,我希望它的原型进入Cube文档。

我可以重新编写这两行并生成文档(然后是无效代码),但我不想每次进行更改时都必须重新编写代码来生成文档!

4

1 回答 1

3

使用@name标签让 jsdoc 知道对象的名称,然后是类的名称,并将@lends标签替换到对象字面量之前。喜欢:

(function(){
    /**
     * Creates an instance of a Cube animation
     * @class
     * @name Cube
     */
    function Cube(){
       //...
    }
    cubeFrame.prototype = /** @lends Cube.prototype */{ // Issue #2
       //...
       /**
       */
       someMethod: function(){}
    };
})()
于 2011-06-27T20:13:17.813 回答