问题
I am using JSDoc for parameter documentation.
It is clear how to document the parameter types for many_prompts
, but what is the right way to document the function it returns?
/**
* @param {Number} - number of times to prompt
* @return {Function(prompt{Number})} - the returned function
*/
function many_prompts(count) {
return function(prompt) {
for(var i=0; i < count; i++) alert(prompt);
}
}
//Example of use:
var y =many_prompts(3);
y('Hello World');
回答1:
You can document the inner function and then reference it like so
/**
* @param {Number} - number of times to prompt
* @return {many_prompts~inner} - the returned function
*/
function many_prompts(count){
/**
* My inner function
*
* @param {object} prompt Some parameter
*/
var inner = function(prompt){
for(var i=0;i<count;i++) alert(prompt}
};
return inner;
}
回答2:
This seems to be working for me.
/**
* @param {Number} count - number of times to prompt
* @return {function(): void} - the returned function
*/
manyPrompts(count) {
/**
* My inner function
*
* @param {object} prompt Some parameter
*/
const inner = function(prompt) {
for (let i=0; i < count; i++) {
alert(prompt);
};
};
return inner;
}
来源:https://stackoverflow.com/questions/30012043/how-to-document-a-function-returned-by-a-function-using-jsdoc