我不知道有多少(如果有的话)与Google Closure有关,或者它是否全部是干净的jsdoc,但我尝试使用@typedef定义这样的特定类型的函数;
/**
* @typedef {function(paramType0, paramType1):returnType} name.space.and.TypeName
*/
也尝试了
/**
* @typedef {function(paramType0, paramType1):returnType}
*/
name.space.and.TypeName;
其中param和return类型是我想要定义此函数规范的原因。我的问题是这个;
为什么验证告诉我"方法不是函数类型"。我知道可以使用类型'功能'但据我所知,这不允许我定义参数和返回类型?我也错了吗?
在任何情况下,我都非常感谢这方面的一些帮助。感谢。
答案 0 :(得分:3)
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