【问题标题】:Proper tags for objects in jsdocjsdoc中对象的正确标签
【发布时间】:2011-08-06 00:26:19
【问题描述】:

在 jsdoc 中记录这种风格的对象的正确方法是什么:

/**

*/

var strings = 
{
    /**

    */  
    stripHTML: function(html)
    {
        //does something
    },
    /**

    */
    validHTML: function(html)
    {
        //does something else
    }
}

即定义对象的正确参数,并将子函数识别为“字符串”的一部分。我知道@param、@return 等,只是不知道这类对象的主要定义。

【问题讨论】:

    标签: javascript documentation tags


    【解决方案1】:

    我会将@namespace 用于“字符串”

    这些方法将简单地使用@function(尽管 jsdoc 很明显它们是什么

    编辑 在您的特定示例中,您可能希望使用以下内容:

    /**
        describe purpose
    */
    String.prototype.stripHTML = function()
    {
        //does something with this
    }
    
    /**
        describe purpose
    */
    String.prototype.validHTML = function()
    {
        //does something else with this
    }
    

    然后这样使用:

    var str = "bob<br/>";
    str = str.stripHTML();
    

    【讨论】:

    • 感谢您的回答。我知道原型,但感谢您的提示。我用作演示的脚本名称有些误导。
    • 啊,好的。好吧,对于用作命名空间的单例,只需使用@namespace。但是,当您拥有复杂的结构时,确实会很痛苦
    • 是否有任何方法可以标记函数,比如“validHTML”,使其看起来是“字符串”的方法或链接到“字符串”?查看生成的文档,无法真正判断它是否属于此类。
    • jsdoc 文档生成器并不真正了解内置对象,只了解语法。你可以使用@memberOf 来明确定义关系
    • 在这种情况下,@memberOf 不合适,因为 saveState 不是类的实例化。你想要 /** @static */ saveContent:function().... 见code.google.com/p/jsdoc-toolkit/wiki/TagStatic
    【解决方案2】:

    虽然通过设置原型来定义对象成员函数有很好的论据,但有时这并不实用。我想我会发布一个不会重构代码的答案。它使用与@Jonathan 的答案相同的想法。

    /**
     * @namespace
     * Custom String functions
     */
    var strings = 
    {
        /**
         * Strips the HTML away
         */  
        stripHTML: function(html)
        {
            //does something
        },
    
        /**
         * Ensures the HTML is valid
         */
        validHTML: function(html)
        {
            //does something else
        }
    }
    

    来自JSDoc-Toolkit 的示例正是我所追求的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      • 2020-11-11
      • 1970-01-01
      • 2023-04-09
      • 2017-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多