尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
JSDoc注释规范详解:@param、@return、@type等15个必会标签一次学会
JSDoc注释规范详解param、return、type等15个必会标签一次学会【免费下载链接】jsdocAn API documentation generator for JavaScript.项目地址: https://gitcode.com/gh_mirrors/js/jsdocJSDoc 是 JavaScript 开发者最常用的API 文档生成器An API documentation generator for JavaScript它通过解析源码中的/** ... */块注释自动产出结构化的 API 文档。本文带你一次学会 JSDoc 注释规范中最核心的 15 个标签——param、returns、type、class 等让你写的注释既规范又高效。一、JSDoc 是什么为什么必学JSDoc的工作流程非常简单你在函数、类、变量上方写注释 → 运行 jsdoc.js 命令行工具 → 自动生成 HTML 文档站点。它的核心优势文档与代码同处一仓注释即文档永远不会过期脱节零学习成本入门会写注释就会写 JSDocIDE 原生支持VS Code 等编辑器能读取 JSDoc 提供自动补全和类型提示️模块化架构核心标签定义在 core.js 中标签体系清晰可扩展 一句话记忆注释里用标签声明参数、返回值和类型JSDoc 就能自动生成专业文档。二、JSDoc 注释的基本格式一条 JSDoc 注释遵循固定结构以/**开头注意必须是块注释不是//第一行写一句话描述会成为文档标题空行后跟若干标签行以*/结尾/** * 按名称查找用户。 * * param {string} name 要查找的用户名 * returns {object} 匹配到的用户对象 */ function findUser(name) { /* ... */ }标签的官方定义全部集中在 packages/jsdoc-tag/lib/definitions/core.js每个标签都声明了是否必须带值、能否带类型等约束。三、15个核心标签速查手册1. param —— 声明函数参数最高频param用于描述函数的每一个参数格式为param {类型} 名称 描述/** * param {string} targetName 要查找的目标名称 * param {function} callback 回调函数 */ function find(targetName, callback) {}小贴士可选参数用方括号param [asynctrue] 是否异步执行联合类型用|param {string|number} xarg、argument都是它的别名更多变体可参考 paramtag.js2. returnsreturn—— 声明返回值returns描述函数的返回值类型和含义return是它的简写别名/** * 查找目标并返回结果列表。 * returns {string|Arraystring} 找到的目标名称 */ function find(targetName) {}参考示例returnstag.js。3. type —— 声明变量/属性的类型给变量或对象属性显式标注类型/** * type {number} 当前计数器 */ let count 0;注意type 后面只能跟类型表达式不能跟描述文字这是 core.js 中mustNotHaveDescription的硬约束。4. typedef —— 定义可复用类型复杂对象类型建议用typedef先起名之后到处引用/** typedef {string|number} calc.NumberLike */ /** param {calc.NumberLike} x 数字或字符串 */ function readNumber(x) {}这样避免了长类型表达式反复书写维护性大幅提升。实战示例见 typedeftag.js。5. class —— 标记构造函数为类/** * 描述 Ticker 类的功能。 * class */ var Ticker function() {};在函数式构造函数上标注class后JSDoc 才会把它当作类来归类展示。示例见 classtag.js。6. property —— 描述对象的属性给类或对象属性补充类型与说明/** * property {string} hostname 服务器地址 * property {number} port 端口号 */ function MySocket() {}7. example —— 提供使用示例example允许在文档中嵌入代码示例支持重复使用多次JSDoc 会自动保留其中的空白格式/** * 创建任务并执行。 * example * const task new Task(build); * task.run(); */ function Task(name) {}8. throwsexception—— 声明可能抛出的异常/** * throws {InvalidArgumentException} 参数非法时抛出 */ function foo(x) {}exception是throws的别名两者完全等价。完整示例见 exceptiontag.js。9. since —— 标注引入版本/** * since 2.0.0 */ function newFeature() {}方便使用者快速判断我用的版本是否包含这个 API。10. deprecated —— 标记废弃 API/** * deprecated 请改用 {link findUser} */ function oldFindUser() {}带值说明替代方案时效果最好——文档中会直接显示弃用提示横幅。11. author —— 标注作者可重复使用多次书写会累加成数组/** * author 张三 * author 李四 lisiexample.com */ function coreApi() {}12. see —— 关联相关文档在文档中建立延伸阅读链接/** * see {link findUser} 查找函数的文档 */ function helper() {}13. module —— 声明模块把若干导出归入同一逻辑模块/** * 用户管理模块。 * module user-manager */配合exports使用可将一组函数打包成统一的模块文档页。14. ignore —— 从文档中排除对纯内部实现、不想出现在公开文档中的代码加一行即可隐身/** ignore */ function _internalHelper() {}15. summary —— 一句话摘要在长描述之外提供独立的摘要字段方便文档目录展示/** * 完整的详细描述…… * summary 快速计算两个数的和 */ function add(a, b) {}四、一份完整的标准答案模板把常用标签组合起来就是一个生产级函数的标准注释模板/** * 根据条件查询用户列表。 * * param {string} name 用户名支持模糊匹配 * param {number} [limit10] 返回条数上限 * returns {Arrayobject} 用户对象数组 * throws {InvalidArgumentException} name 为空时抛出 * since 1.2.0 * author JSDoc Team * see {link createUser} * example * const users findUsers(zhang, 5); */ function findUsers(name, limit) {}五、新手常见错误清单 ⚠️错误正确做法用//或/* */写注释必须用/** */块注释忘记returns的类型大括号写returns {string}而非returns stringtype后加了描述文字type {object}单独一行描述写在注释第一行参数顺序与函数签名不一致param顺序应与函数形参一一对应拼写return时漏了类型return也支持带类型建议统一用returns六、下一步如何运行 JSDoc 生成文档# 安装项目依赖并运行 git clone https://gitcode.com/gh_mirrors/js/jsdoc cd jsdoc nvm install npm link jsdoc your-file.js运行后会自动输出 HTML 文档。更多命令行选项和配置可以查看仓库根目录的 README.md 与示例配置文件 conf.json.EXAMPLE。七、总结✅param / returns / type是日常使用频率最高的三件套✅class / property / typedef用于构建类和复杂类型文档✅example / throws / since / deprecated让文档专业度直接拉满✅ 标签的权威定义都在 packages/jsdoc-tag/lib/definitions/core.js遇到不确定的写法可对照源码掌握这 15 个标签你的 JSDoc 注释规范就已经超过 90% 的 JavaScript 项目。现在就把这份速查清单收藏起来下次写代码时按需取用吧 【免费下载链接】jsdocAn API documentation generator for JavaScript.项目地址: https://gitcode.com/gh_mirrors/js/jsdoc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

pymysql update 后数据没变?TaoToken 这样配 config.toml 查 commit

pymysql update 后数据没变?TaoToken 这样配 config.toml 查 commit

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/19 16:53:38
时间序列建模完整闭环:从平稳性检验到SARIMA预测

时间序列建模完整闭环:从平稳性检验到SARIMA预测

简介:人大王燕版《时间序列分析》课后习题参考答案,覆盖第二章与第三章核心内容,并包含上机操作题目解答,适合统计学、数据科学及相关专业学生备考与自学。文档针对自相关系数计算、偏自相关图识别、AR模型、MA模型、ARIMA模型建模…

📅 2026/9/19 16:53:38
AI风险管理工程实践:从监督学习建模到实时监控与可解释性

AI风险管理工程实践:从监督学习建模到实时监控与可解释性

简介:本资源为“人工智能在风险管理中的作用”主题PPT,面向企业风险管理人员、AI解决方案架构师及对智能风控感兴趣的技术人员,系统讲解AI在风险识别、评估、管控、监测、缓解及治理等环节的落地路径。内容涵盖监督学习、无监督学习与深度学习…

📅 2026/9/19 16:53:38
MORE NEWS

更多资讯

📰

前端点赞按钮从零实现:状态管理、接口同步与性能优化实战

做前端这行的朋友应该都有过类似的经历:平时写了那么多页面,真到自己从零开始,反倒连一个点赞按钮都做不利索。需求表面上是“用户点一下,红心跳一下,数字加一,再点一下取消”,可真要上线跑起来…

📰

光伏集群电能共享与需求响应模型解析

1. 项目背景与核心价值光伏集群的电能共享与需求响应是当前分布式能源领域的前沿课题。随着屋顶光伏的普及,大量分散的光伏用户形成了一个个小型发电单元集群。这些用户既是用电方也是供电方,如何通过市场机制实现集群内部电能高效共享,同时参…

📰

DataHub 接入 Vertica 元数据摄取完全指南:能力矩阵、配置详解与故障排查

DataHub 接入 Vertica 元数据摄取完全指南:能力矩阵、配置详解与故障排查 【免费下载链接】datahub The Context Platform for your Data and AI Stack 项目地址: https://gitcode.com/GitHub_Trending/da/datahub 导读 本文围绕 DataHub 官方 Vertica 摄取…

📰

curl 从入门到实战:HTTP 请求调试与自动化脚本指南

说实话,我见过太多人把 curl 用成了“只会 GET 一下网址”的工具。但在我日常排查接口、写部署脚本、调试第三方 API 的时候,curl 几乎是出场率最高的命令,没有之一。它是全平台默认自带的 HTTP 请求工具——macOS、Linux 自带,Wi…

📰

Tripo P2.0+Astra+UE5.8:四足机器人动画制作管线全解析

从模型生成到动画落地,我用 Tripo P2.0 配合虚拟助手 Astra 在 UE5.8 里搭了一条四足机器人动画制作管线,这几个月实际跑下来,效率确实比传统手工建模加 K 帧的方式高出一大截。今天把这套流程完整拆开讲,从方案选型、模型处理、动…

📰

CrystalDiskMark、AS SSD、DiskGenius:硬盘性能测试与健康检测实战指南

固态硬盘用久了掉速、新买的U盘容量对不上、机械盘偶尔卡顿怀疑有坏道——这些场景几乎每个折腾过电脑的人都遇到过。判断一块盘到底是"真不行了"还是"只是心理作用",靠感觉没用,得靠数据说话。CrystalDiskMark、DiskGenius、AS SSD…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬