当前位置: 首页 > article >正文

js 文档注释

在 JavaScript 中,文档注释(也叫 JSDoc 注释)是一种用于为代码提供结构化说明的注释方式。JSDoc 注释通常用于生成 API 文档、提高代码可读性,并为 IDE 提供智能提示。下面是如何在 JavaScript 中编写文档注释的基本指南。

基本语法

JSDoc 注释通常以 /** 开始,并以 */ 结束。每个注释块可以包含不同的标签(tag),用于描述函数、变量、类、参数等内容。

示例:
 
/**
 * 计算两个数的和。
 * 
 * @param {number} a - 第一个加数
 * @param {number} b - 第二个加数
 * @returns {number} 返回两数的和
 */
function add(a, b) {
  return a + b;
}

常见的 JSDoc 标签

  1. @param
    用于描述函数参数。它有两个部分:类型和参数名,以及对该参数的描述。
     

    /**
     * 设置用户的年龄
     * @param {number} age - 用户的年龄
     */
    function setAge(age) {
      this.age = age;
    }
    
  2. @returns@return
    用于描述函数的返回值。它也有两个部分:返回值的类型和返回值的描述。
     
    /**
     * 获取用户的名字
     * @returns {string} 返回用户的名字
     */
    function getName() {
      return this.name;
    }
    
  3. @type
    用于指定变量的类型。 
    /** @type {string} */
    let message = "Hello, World!";
    
  4. @description
    用于描述函数、类或方法的行为,可以是对某一功能的详细解释。
     
    /**
     * 这个函数会检查一个数是否为质数。
     * @param {number} num - 要检查的数字
     * @returns {boolean} 如果是质数返回 true,否则返回 false
     */
    function isPrime(num) {
      if (num <= 1) return false;
      for (let i = 2; i < num; i++) {
        if (num % i === 0) return false;
      }
      return true;
    }
    
  5. @example
    用于提供一个或多个函数调用的示例。 
    /**
     * 计算两数的平均值
     * @param {number} a - 第一个数字
     * @param {number} b - 第二个数字
     * @returns {number} 两个数的平均值
     * @example
     * // 返回 4
     * average(2, 6);
     */
    function average(a, b) {
      return (a + b) / 2;
    }
    
  6. @deprecated
    标记一个方法、属性或函数已被废弃,不推荐使用。 
    /**
     * @deprecated
     * 该方法已被弃用,请使用新的 `newMethod` 代替。
     */
    function oldMethod() {
      // ...
    }
    
  7. @throws@exception
    用于描述函数可能抛出的异常。 
    /**
     * 将一个字符串转换为数字
     * @param {string} str - 要转换的字符串
     * @returns {number} 转换后的数字
     * @throws {Error} 如果输入不是有效的数字
     */
    function parseNumber(str) {
      const num = parseFloat(str);
      if (isNaN(num)) {
        throw new Error("无效的数字格式");
      }
      return num;
    }
    

注释函数的完整示例 

/**
 * 计算一个数组的平均值
 * 
 * @param {number[]} arr - 一个包含数字的数组
 * @returns {number} 返回数组的平均值
 * @throws {Error} 如果数组为空,抛出错误
 * 
 * @example
 * // 返回 5
 * calculateAverage([3, 5, 7])
 */
function calculateAverage(arr) {
  if (arr.length === 0) {
    throw new Error('数组不能为空');
  }
  
  const sum = arr.reduce((total, num) => total + num, 0);
  return sum / arr.length;
}

注释类和对象

对于类和对象,我们也可以使用 JSDoc 来提供更详细的描述。

类的注释
/**
 * 表示一个矩形
 * 
 * @class
 */
class Rectangle {
  /**
   * 创建一个矩形
   * 
   * @param {number} width - 矩形的宽度
   * @param {number} height - 矩形的高度
   */
  constructor(width, height) {
    this.width = width;
    this.height = height;
  }

  /**
   * 计算矩形的面积
   * @returns {number} 返回矩形的面积
   */
  getArea() {
    return this.width * this.height;
  }
}

总结

JSDoc 是 JavaScript 开发中用于提高代码可维护性和可读性的一个重要工具,它不仅帮助开发者理解代码的功能,还能自动生成 API 文档。合理使用 JSDoc 可以使你的代码更加清晰、规范,尤其是在团队合作时非常有用。


http://www.kler.cn/a/464252.html

相关文章:

  • Python 开发框架搭建简单博客系统:代码实践与应用
  • 【重庆】《政务数字化应用费用测算规范》(T/CDCIDA 001—2023)-省市费用标准解读系列36
  • qml MouseArea详解
  • 个人健康信息系统|Java|SSM|VUE| 前后端分离
  • 25.1.3
  • 自学记录鸿蒙API 13:实现多目标识别Object Detection
  • springboot实战(19)(条件分页查询、PageHelper、MYBATIS动态SQL、mapper映射配置文件、自定义类封装分页查询数据集)
  • 2025-1-2-sklearn学习(30)模型选择与评估-验证曲线: 绘制分数以评估模型 真珠帘卷玉楼空,天淡银河垂地。
  • 基于BP训练深度学习模型(用于回归)以及验证误差值
  • A*算法与人工势场法结合的路径规划(附MATLAB源码)
  • 基于Matlab实现离散点云数据三维表面重构程序(源码+数据)
  • 设计模式-创建型模式-工厂方法模式详解
  • 线路板沉金厚度一般是多少?【新立电子】
  • 聊聊前端框架中的process.env,env的来源及优先级(next.js、vue-cli、vite)
  • C# 设计模式的六大原则(SOLID)
  • 解密人工智能:如何改变我们的工作与生活
  • transfomer深度学习实战水果识别
  • 爱死机第四季(秘密关卡)4KHDR国语字幕
  • 【C++】B2093 查找特定的值
  • C语言实现贪吃蛇游戏
  • Spring MVC的@ResponseBody与@RequestBody
  • 路由技术在网络中的作用及特点
  • 数据结构与算法学习笔记----快速幂
  • Django ORM 常用增刪改查語法、API及示例
  • JR-RLAA系20路模拟音频多功能编码器
  • Vue3+Element Plus的表格分页实战