国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

App下載

JSDoc 標(biāo)簽大全|70+ 官方標(biāo)簽速查表

編程獅(w3cschool.cn) 2025-08-06 16:25:50 瀏覽數(shù) (379)
反饋

JSDoc 3 是一個(gè)用于 JavaScript 的API文檔生成器,類似于 Javadoc 或 phpDocumentor??梢詫⑽臋n注釋直接添加到源代碼中。JSDoc 工具將掃描您的源代碼并為您生成一個(gè) HTML 文檔網(wǎng)站。

JSDoc 速通手冊(cè)
——編程獅(w3cschool.cn)為前端新手量身打造的“一行一用”速查表

看完就能寫注釋,寫完就能出文檔!

1 起手式:一條萬(wàn)能模板

/**
 * @file  文件描述
 * @author 編程獅 <dev@w3cschool.cn>
 * @license MIT
 * @since   2025-08-06
 * @version 1.0.0
 */

2 常用標(biāo)簽「一行一用」

場(chǎng)景 簡(jiǎn)寫模板 備注
描述變量 /** @type {number} */ let count 寫類型即可
描述函數(shù) /** @param {string} name - 用戶名 */ 必傳參數(shù)
可選參數(shù) /** @param {number} [age=18] - 年齡 */ 中括號(hào) + 默認(rèn)值
多個(gè)類型 /** @type {(string\|number)} id */ 管道符
對(duì)象結(jié)構(gòu) /** @type {{a: string, b: number}} */ 行內(nèi)對(duì)象
返回類型 /** @returns {Promise<boolean>} */ Promise 也支持
回調(diào)函數(shù) /** @callback FetchCb @param {string} url @returns {Promise} */ 先定義后使用
枚舉 /** @enum {number} */ const STATUS = { OK: 200, ERROR: 500 } 自動(dòng)生成枚舉文檔
類注釋 /** @class User @desc 用戶實(shí)體 */ 構(gòu)造函數(shù)上加
棄用 /** @deprecated 用 fetchDataAsync 代替 */ IDE 會(huì)畫刪除線

3 完整函數(shù)示例(復(fù)制即用)

/**
 * 獲取用戶詳情
 * @func
 * @param {string} id - 用戶ID
 * @param {object} [options] - 可選配置
 * @param {boolean} [options.cache=true] - 是否緩存
 * @returns {Promise<User>} 用戶實(shí)例
 * @throws {Error} 當(dāng)網(wǎng)絡(luò)異常
 * @example
 * getUser('123').then(console.log);
 */
async function getUser(id, { cache = true } = {}) {
  if (!id) throw new Error('id 不能為空');
  return fetch(`/api/user/${id}?cache=${cache}`).then(r => r.json());
}

4 一鍵生成文檔

  1. 安裝
    npm i -D jsdoc
  2. 配置 jsdoc.json
    {
     "source": { "include": ["src"] },
     "opts": { "destination": "docs" }
    }
  3. 運(yùn)行
    npx jsdoc -c jsdoc.json
  4. 打開(kāi) docs/index.html 查看效果。

5 速背口訣

“變量加 @type,函數(shù)加 @param,返回加 @returns,枚舉用 @enum,棄用 @deprecated 別忘寫!”

6 JSDoc 3 全部標(biāo)簽速查表(共 70+)

按使用頻率分 4 級(jí):

??? 必背(藍(lán)框)??? 常用(綠框)?? 進(jìn)階(灰框)?? 其他(了解)

① 文件級(jí)

標(biāo)簽 說(shuō)明 示例
@file / @fileoverview 文件描述 @file 用戶模塊入口
@author 作者 @author 編程獅 <dev@w3cschool.cn>
@copyright 版權(quán) @copyright 2025 w3cschool
@license 許可證 @license MIT
@version 版本 @version 1.2.0
@since 起始版本 @since 2025-08-06

② 類型與變量

標(biāo)簽 說(shuō)明 示例
@type ??? 變量/返回值類型 @type {number}
@typedef ?? 自定義類型 @typedef {{x:number,y:number}} Point
@callback ?? 回調(diào)類型 @callback FetchCb
@enum ? 枚舉 @enum {number} STATUS
@var ? 變量別名 @var {string} title
@constant / @const ?? 常量 @constant {string} API_ROOT
@readonly ? 只讀 @readonly
@default ? 默認(rèn)值 @default 42

③ 函數(shù) / 方法

標(biāo)簽 說(shuō)明 示例
@param / @arg ??? 參數(shù) @param {string} name - 用戶名
@returns / @return ??? 返回值 @returns {Promise<User>}
@throws / @exception ?? 拋出異常 @throws {Error} 參數(shù)錯(cuò)誤
@example ?? 用法示例 @example add(1,2) // 3
@async ? 異步 @async
@generator / @yields ? 生成器 @yields {number}
@this ? this 指向 @this {HTMLElement}

④ 類 / 模塊 / 命名空間

標(biāo)簽 說(shuō)明 示例
@class / @constructor ??? 構(gòu)造函數(shù) @class Person
@classdesc ? 類描述 @classdesc 用戶實(shí)體
@extends / @augments ?? 繼承 @extends Animal
@implements ? 實(shí)現(xiàn)接口 @implements Drawable
@interface ? 接口 @interface EventEmitter
@abstract / @virtual ? 抽象 @abstract draw()
@override ? 重寫 @override
@static ? 靜態(tài)成員 @static findById()
@instance ? 實(shí)例成員 @instance
@inner ? 內(nèi)部成員 @inner toString
@memberof ? 隸屬對(duì)象 @memberof utils
@namespace ?? 命名空間 @namespace math
@module ?? 模塊 @module user/api
@exports ? 出口 @exports UserModel
@requires ? 依賴模塊 @requires lodash

⑤ 成員可見(jiàn)性

標(biāo)簽 說(shuō)明
@public ? 公開(kāi)(默認(rèn))
@private ?? 私有
@protected ?? 受保護(hù)
@package ? 包內(nèi)可見(jiàn)

⑥ 事件與監(jiān)聽(tīng)

標(biāo)簽 說(shuō)明
@event ? 定義事件
@listens ? 監(jiān)聽(tīng)事件
@fires / @emits ? 觸發(fā)事件

⑦ 其他實(shí)用標(biāo)簽

標(biāo)簽 說(shuō)明
@description / @desc ?? 長(zhǎng)描述
@summary ? 簡(jiǎn)短描述
@deprecated ?? 已棄用
@see ? 參考鏈接
@link / @linkcode / @linkplain ? 內(nèi)聯(lián)鏈接 {@link URL}
@tutorial ? 教程鏈接
@ignore ? 忽略該符號(hào)
@todo ? TODO 任務(wù)
@borrows ? 借用其他注釋
@name ? 強(qiáng)制名稱(用于虛擬注釋)
@variation ? 同名變體
@external ? 外部類型
@mixin / @mixes ? 混入

⑧ 模板與泛型

標(biāo)簽 說(shuō)明
@template ? 泛型參數(shù) @template T
@satisfies ? TypeScript 專用

⑨ 完整模板速用

/**
 * @file 用戶模塊
 * @author 編程獅 <dev@w3cschool.cn>
 * @since 1.0.0
 */


/**
 * @typedef {Object} User
 * @property {string} name  用戶名
 * @property {number} age   年齡
 */


/**
 * 創(chuàng)建用戶
 * @func
 * @param {User} user
 * @returns {Promise<User>}
 * @throws {Error} 參數(shù)非法
 * @example
 * createUser({name:'Tom',age:18})
 */
async function createUser(user) { ... }

1 人點(diǎn)贊