我正在使用 JsDoc 编辑 js 文件以获得干净的文档。
我的结构非常简单:
/**
* Finds an object
* @param {string} prop - Property
*/
Array.prototype.findObject = function _findObj(prop, val){
// blablabla
}
function myfunc(plep){
// does something
}
/**
* Workshop Namespace
* @namespace
*/
var Workshop = {};
/**
* Does something great
* @param {*} plep - My super param!
*/
Workshop.doIt = myfunc;
/**
* It works!
* @param {string} fly - my flying param
*/
Workshop.flyNow = function _flyN (fly){
// fly!
}
然而,
- 不显示第一个功能的文档。
- 创建了 Workshop 命名空间
- Workshop.doIt 仅通过其描述进行记录,参数不记录
- Workshop.flyNow 有详细记录
有谁知道为什么?
Thanks!
原因如下:
1.
第一个函数没有记录,因为它不属于任何可识别的命名空间。要解决此问题,您可以创建虚拟命名空间,如下所示:
/**
* @namespace Array
*/
您可以按如下方式改进该函数的文档:
/**
* Finds an object.
*
* @param {string} prop Property name.
* @param {string|number|function|object} val Value.
*
* @function findObject
* @memberof Array#
*/
Array.prototype.findObject = function _findObj ( prop, val ) {
// blablabla
}
With the outcome below
3.
由于 JSDoc 解析器无法识别,因此未记录参数Workshop.doIt( ... )
作为一个函数。这可以通过以下方法修复@function
or @method
tag:
/**
* Does something great
* @param {*} plep - My super param!
*
* @method
*/
Workshop.doIt = myfunc;
And the result look like this:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)