【发布时间】:2011-09-22 13:03:03
【问题描述】:
相关:Correct way to document open-ended argument functions in JSDoc
我有一个通过访问arguments 变量来接受多个数组的函数:
/**
* @param options An object containing options
* @param [options.bind] blablabla (optional)
*/
function modify_function (options) {
for (var i=1; i<arguments.length; i++) {
// ...
}
}
现在,我知道除了options 之外的每个参数都是一个包含值得记录的值的数组:
[search_term, replacement, options]
我不考虑将(冗长的)描述放在可变参数行中。
@param {...} 包含搜索词、替换及其选项的数组; index 0:函数内的搜索词; 1:替换文字; 2:可选选项(catch_errors:捕获错误并记录它,escape:在替换文本中转义美元,pos:“L”用于将替换放置在搜索词之前,“R”用于放置在搜索词之后) 不是可读的解决方案,并且类型不可见。
有没有办法记录变量参数的类型和值?
@param {...[]} An array with search terms, replacements and its options
@param {...[0]} The search term within the function
@param {...[1]} The replacement text
@param {...[2]} An optional object with obtions for the replacement
@param {...[2].catch_errors} catches errors and log it
@param {...[2].escape} etc...
上面看起来很难看,但它应该让您了解我想要实现的目标:
- 记录变量参数的类型(在本例中为数组)
- 记录这个数组的值
- 记录此数组中对象的属性
为了懒惰,我使用了数组而不是对象。欢迎提出其他建议。
【问题讨论】:
-
我认为索引 0, 1, ... k 不是一个好方法。请改用字母或字母的序列。
-
@sergzach:数组由数字索引,而不是字母。我认为答案是我应该不那么懒惰。
标签: javascript jsdoc