我有一个通过访问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...
上面看起来很难看,但它应该让您了解我想要实现的目标:
- 记录变量参数的类型(在本例中为数组)
- 记录这个数组的值
- 记录此数组中对象的属性
为了懒惰,我使用了数组而不是对象。其他建议总是受欢迎的。