JavaScript 怎样写注释

函数、interface、enum、type、var的申明建议使用文档注释

1. 函数注释

/**
 * 获取店铺签约合同信息
 * @access http://api.xxx.com/getUserNameByTagIdFromServer
 * @param tagId 标签id {number}
 * @returns name 用户名称 {string}
 */
async function queryUserNameByTagId(tagId: string) {
  const userName = await getUserNameByTagIdFromServer(tagId);
  return userName;
}

在这里插入图片描述

2.interface

interface IUser {
  /**
   * 用户姓名
   */
  name: string;
  /**
   * 用户年龄
   */
  age: number;
}

const user = {} as IUser;

user.age = 3;
user.name = '赵云';

3. Enum

/**
 * 水果枚举定义
 * @param APPLE apple 苹果
 * @param ORANGE orange 橘子
 */
enum EFruit {
  /** 苹果 */
  APPLE = 'apple',
  /** 苹果 */
  ORANGE = 'orange',
}

4. 普通变量

/** 变量测试 */
const test2 = 0;

test2;
<think>我们正在讨论JavaScript中的注释法。根据引用[1],[2],[3],[4],JavaScript注释主要分为两类:单行注释和多行注释(也称为文档注释)。以下是详细说明: ### 1. 单行注释 - **语法**:以两个斜杠 `//` 开头,后面跟着注释内容。 - **特点**:只能注释一行内容,从`//`开始到行尾都会被编译器忽略。 - **用途**:适用于简短的说明,如变量解释、代码行说明等。 - **快捷键**(常见IDE):`Ctrl + /`(Windows/Linux)或 `Cmd + /`(Mac)[^1]。 - **示例**: ```javascript // 这是单行注释,计算两个数的和 let a = 5; // 声明变量a并赋值 ``` ### 2. 多行注释 - **语法**:以 `/*` 开头,以 `*/` 结尾,中间的所有内容都是注释。 - **特点**:可以跨越多行,适用于较长的描述或临时屏蔽代码块。 - **快捷键**(常见IDE):默认 `Alt + Shift + A`(VS Code)[^1],但不同编辑器可能不同。 - **示例**: ```javascript /* 这是一个多行注释。 它可以跨越多行。 常用于函数说明或复杂逻辑解释。 */ let b = 10; ``` ### 3. 文档注释JSDoc风格) - **语法**:以 `/**` 开头,以 `*/` 结尾,中间每行通常以星号 `*` 开头。 - **特点**:这是一种特殊的多行注释,支持结构化标签(如 `@param`、`@returns`),用于生成API文档。 - **用途**:注释函数、类、接口等,使工具(如TypeScript或JSDoc)能自动提取文档[^4]。 - **示例**: ```javascript /** * 计算两个数的和 * @param {number} num1 - 第一个加数 * @param {number} num2 - 第二个加数 * @returns {number} 两数之和 */ function add(num1, num2) { return num1 + num2; } ``` ### 注释使用建议 1. **清晰简洁**:注释应简明扼要,避免冗余(如“增加1”这种明显注释)[^3]。 2. **避免误导**:及时更新注释,确保与代码逻辑一致。 3. **文档注释优先**:对于公共函数、类等,使用JSDoc风格注释,便于维护和协作[^4]。 4. **屏蔽代码**:多行注释常用于临时禁用代码块(调试时),但正式代码中应移除无用注释。 ### 注意事项 - **嵌套问题**:多行注释不支持嵌套(如 `/* /* 嵌套 */ */` 会导致语法错误)。 - **位置选择**:单行注释可放在代码行尾,多行注释通常放在代码块上方。 - **特殊工具**:ESLint等工具可通过规则(如 `valid-jsdoc`)强制文档注释规范[^4]。 ### 总结 - **单行注释**:`// 注释内容`,用于简短说明。 - **多行注释**:`/* 注释内容 */`,用于长描述或代码屏蔽。 - **文档注释**:`/** ... */`,用于自动化文档生成。 正确使用注释能极大提升代码可读性和可维护性。建议结合团队规范选择注释风格。 如果您有特定场景(如React组件注释),可进一步讨论扩展法。 §§相关问题§§ 1. 如何在JavaScript中为类(Class)编文档注释? 2. ESLint如何强制注释规范?有哪些常用规则? 3. JavaScript注释在代码压缩(Minification)过程中会被如何处理? 4. TypeScript中的注释JavaScript有何异同?[^4] </think>好的!在 JavaScript 中,注释法主要有三种类型,具体如下(参考您提供的资料): ### 一、注释类型及法 #### 1. 单行注释 - **语法**:`// 注释内容` - **特点**: - 仅作用于单行内容 - 快捷键(多数编辑器):`Ctrl + /` (Windows) 或 `Cmd + /` (Mac) - **示例**: ```javascript let age = 25; // 声明用户年龄变量 // console.log("这行代码不会执行"); ``` #### 2. 多行注释 - **语法**:`/* 注释内容 */` - **特点**: - 可跨越多行 - 快捷键(部分编辑器):`Alt + Shift + A` (VS Code) - **示例**: ```javascript /* 函数:calculateSum 参数:a - 数字1, b - 数字2 返回:两数之和 */ function calculateSum(a, b) { return a + b; } ``` #### 3. 文档注释 (JSDoc) - **语法**:`/** 注释内容 */` - **特点**: - 支持结构化标签(如 `@param`, `@returns`) - 可通过工具自动生成 API 文档 - **推荐场景**:函数、类、接口等公共代码[^4] - **示例**: ```javascript /** * 获取用户名 * @param {string} userId - 用户ID * @returns {string} 用户名 * @throws {Error} 当ID无效时抛出异常 */ function getUserName(userId) { // 实现逻辑... } ``` ### 二、注释使用场景建议 | 注释类型 | 适用场景 | 避免场景 | |----------------|---------------------------------------------|------------------------| | 单行注释 (`//`) | 行尾简单说明、临时禁用代码 | 复杂逻辑解释 | | 多行注释 (`/* */`)| 代码块说明、临时屏蔽多行代码 | 公共 API 文档 | | 文档注释 (`/** */`)| 函数/类说明、参数描述、返回值说明[^4] | 内部私有方法 | ### 三、最佳实践 1. **清晰明确** ```javascript // 糟糕示例:模糊 let x = 10; // 设置x // 推荐示例:明确 let retryCount = 10; // 请求重试次数上限 ``` 2. **避免冗余** ```javascript // 冗余:注释与代码重复 let count = 0; // 将count设置为0 ``` 3. **及时更新** ```diff - // 使用旧算法计算 + // 使用优化后的XX算法计算 (2024-06更新) ``` 4. **文档注释规范**(参考引用[4]): - `@param` 声明参数类型:`{string} userId` - `@returns` 说明返回值 - `@throws` 标注异常情况[^4] > **为什么需要注释?** > 注释不会被浏览器执行,但能提升代码可读性、辅助团队协作,并为日后维护提供关键上下文[^2][^3]。 ### 四、特殊注意事项 1. **嵌套注释会报错** ```javascript /* 外层注释 // 内层注释(合法) /* 错误嵌套 */ // 语法错误! */ ``` 2. **条件编译用法** ```javascript //#DEBUG console.log("调试模式"); //#ENDDEBUG ``` > 提示:现代 IDE(如 VS Code)可通过悬停显示文档注释内容,提升开发效率[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半夏_2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值