Javascript 如何在JSDoc中定义这个函数结构?
假设我有一个创建动态函数并返回它的函数Javascript 如何在JSDoc中定义这个函数结构?,javascript,jsdoc,Javascript,Jsdoc,假设我有一个创建动态函数并返回它的函数 函数接受类型为String的数据参数并返回String /** *@param{String}数据 *@returns{???} */ const foo=数据=>{ 让functionString='返回数据;' 返回函数('data',functionString) }您可以使用文档来记录内部成员。根据文件: JSDOC3中的名称路径 当引用文档中其他地方的JavaScript变量时,必须提供映射到该变量的唯一标识符。namepath提供了这样一种方
函数
接受类型为String
的数据参数并返回String
/**
*@param{String}数据
*@returns{???}
*/
const foo=数据=>{
让functionString='返回数据;'
返回函数('data',functionString)
}
您可以使用文档来记录内部成员。根据文件:
JSDOC3中的名称路径
当引用文档中其他地方的JavaScript变量时,必须提供映射到该变量的唯一标识符。namepath提供了这样一种方法,可以消除实例成员、静态成员和内部变量之间的歧义
JSDoc 3中名称路径的基本语法示例
myFunction
MyConstructor
MyConstructor#instanceMember
MyConstructor.staticMember
MyConstructor~innerMember // note that JSDoc 2 uses a dash
由于要引用返回的内部函数insidefoo
,因此必须使用记录函数内部成员的最后一个选项
要使用namepaths,必须使用标识符,以便JSDoc能够识别成员,这是通过声明文档中提到的变量来实现的。您可以将返回值定义为变量并返回该变量。因此:
/**
* @param {String} data
* @returns {foo~newFunction}
*/
const foo = data => {
let functionString = 'return data;'
/**
* Notice the idenfier newFunction given to the member
* You can now document the function here
*/
let newFunction = Function('data', functionString)
return newFunction
}
在上面,我们将前一个返回值定义为名为newFunction
的变量。因此,我们可以使用namepath将其引用为foo~newFunction
,作为foo
的内部成员,然后将其设置为foo
的返回值。然后可以返回newFunction