我不知道有多少(如果有的话)与Google Closure有关,或者是否都是干净的jsdoc,但是我尝试使用@typedef来定义像这样的特定类型的函数;
/**
* @typedef {function(paramType0, paramType1):returnType} name.space.and.TypeName
*/
也尝试过
/**
* @typedef {function(paramType0, paramType1):returnType}
*/
name.space.and.TypeName;
在这里,参数和返回类型是我要定义此函数规范的原因.我的问题是这个;
为什么验证会告诉我“方法不是函数类型”.我知道使用“函数”类型是一种选择,但是据我所知,这将不允许我定义参数和返回类型吗?我也错了吗?
无论如何,我将不胜感激.谢谢.
解决方法:
typedef的典型用法如下所示:
/** @typedef {function():string} */
var SomeFunctionType;
/** @param {SomeFunctionType} x This is a function */
function useFunction(x) {
...
}
这个问题缺少一些细节,我希望您实际上希望使用@type声明来键入值,而不是创建类型名称:
/** @type {function():string} */
var someFunction = getFunctionFromSomewhere();
someFunction();
jsdoc注释的概述可以在这里找到:
https://developers.google.com/closure/compiler/docs/js-for-compiler