2014-02-14 73 views
8

假设我有一些对象,使用jsdoc3评论它的方式是什么?Jsdoc3评论对象

/** 
* Test object 
* @namespace test 
*/ 
var test = { 
    /** 
    * Some defaults 
    * @memberOf test 
    */ 
    defaults: { 
     'test1': 1, 
     'test2': 2 
    }, 
    /** 
    * Somthing else 
    * @memberOf test 
    */ 
    deep: { 
     /** 
     * Some option 
     * @memberOf {test.deep} 
     */ 
     option: {}, 
     /** 
     * Some method 
     * @memberOf test.deep 
     */ 
     method: {}, 
     /** 
     * Some option 
     * @memberOf {test.deep.evenMore} 
     */ 
     evenMore: { 
     /** 
     * Some option 
     * @memberOf test.deep.evenMore 
     */ 
     test: false 
     } 
    } 
}; 

但jsdoc只创建了命名空间的文档:测试和成员深,默认

命名空间:测试测试测试对象

成员

深 财产以后其他

默认 一些默认值

+1

test.deep也应该是一个命名空间,我相信,如果你想要的成员出现。 – Scottux

+0

我不是javascript的专家,但也许存在一个更好的方式来做这样的事情,也许prototiping? – rpax

回答

1

正如@Scottux所说,实现这一点的唯一方法是命名其他名称空间。

/** 
* Test object 
* @namespace test 
*/ 
var test = { 
    /** 
    * Some defaults 
    * @memberOf test 
    */ 
    defaults: { 
     'test1': 1, 
     'test2': 2 
    }, 
    /** 
    * Somthing else 
    * @memberOf test 
    * @namespace test.deep 
    */ 
    deep: { 
     /** 
     * Some option 
     * @memberOf test.deep 
     */ 
     option: {}, 
     /** 
     * Some method 
     * @memberOf test.deep 
     */ 
     method: {}, 
     /** 
     * Some option 
     * @memberOf test.deep 
     * @namespace test.deep.evenMore 
     */ 
     evenMore: { 
     /** 
     * Some option 
     * @memberOf test.deep.evenMore 
     */ 
     test: false 
     } 
    } 
}; 

生成的文件将是这样的:


Generated documentation screenshot