如何使用jsdoc格式化嵌套数组和对象?
这是我最好的猜测:
an_obj = {
username1 : [
{
param1 : "value 1-1-1",
param2 : "value 1-1-2",
optional_nested : "1-1--2"
},
{
param1 : "value 1-2-1",
param2 : "value 1-2-2"
},
],
username2 : [
{
param1 : "value 2-1-1",
param2 : "value 2-1-2"
},
{
param1 : "value 2-2-1",
param2 : "value 2-2-2",
optional_nested : "2-2--2"
}
]
}
}
/**
* A function description.
* @param {Object} obj
* @param {Object} obj.username This is not the object name, but a name type.
* @param {Array} obj.username.array Desc... using [] would conflict with optional params.
* However this could be confused with an object called array.
* @param {String} obj.username.array.param1 Desc... This is the object name rather than a type.
* @param {String} obj.username.array.param2 Desc...
* @param {String} obj.username.array.[optional_param] Desc...
*/
var myFunc = function(obj){
//...
};
myFunc(an_obj);
如何指示某个对象是由一种字符串索引的?
如何定义嵌套数组?
也不确定将方括号放在可选参数中的哪个位置。
答案 0 :(得分:1)
我建议您检查this。我可能会写这样的东西:
//{Object{username:<Array<Object{param1:String, param2:String,[optional_nest]:string}>>}}
答案 1 :(得分:0)
您可以尝试这样做:(此处指定为http://code.google.com/p/jsdoc-toolkit/wiki/TagParam)
/**
* @param {String[]} obj.username.array
*/
这应该将obj.username.array
声明为字符串数组。
你使用的是jsdoc还是jsdoc3?