You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JSDoc注释声明回调函数的参数类型?

正确为JavaScript回调函数添加JSDoc类型标注

你之前用void<Event>的写法不符合JSDoc的类型规范,所以导致回调类型被识别为any。下面是两种正确的标注方式:

方式一:直接在@param中定义回调类型

直接在@param里用function(参数类型): 返回值类型的格式标注回调函数:

/**
 * Adds an event listener to track scroll events
 * @param {function(Event): void} callback - 接收一个Event对象作为参数,无返回值的回调函数
 */
static addScrollListener(callback) {
    Input.scrollListeners.push(callback);
}

这里function(Event): void明确了:回调函数接收一个Event类型的参数,执行后没有返回值,编辑器会正确识别这个类型,不会再显示为any。

方式二:用@typedef定义可复用的回调类型

如果这个回调类型会在多个地方用到,可以先通过@typedef定义一个专属类型,再在参数中引用:

/**
 * @typedef {function(Event): void} ScrollCallback
 * @description 滚动事件回调函数,接收一个Event对象参数,无返回值
 */

/**
 * Adds an event listener to track scroll events
 * @param {ScrollCallback} callback - 滚动事件触发时执行的回调函数
 */
static addScrollListener(callback) {
    Input.scrollListeners.push(callback);
}

这种方式能让代码结构更清晰,也方便统一维护回调类型的定义。

内容的提问来源于stack exchange,提问作者itsoutchy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 06:39:55