Js注释

注释

介绍

作用

合作分享:方便他人阅读,便于分享

沉淀总结:容易忘记代码,自己总结沉淀

形式

1.// 双斜杠

 

2./**/斜杠星号

 

常用标签

标签

描述

@module

标明当前文件模块,在这个文件中的所有成员将被默认为属于此模块,除非另外标明

@submodule

针对模块的划分,处于@module之下

@class

标示一个类或者一个函数

@constructor

当使用对象字面量形式定义类时,可使用此标签标明其构造函数

@callback

标明此方法是一个回调函数

@event

标明一个可触发的事件函数,一个典型的事件是由对象定义的一组属性来表示。

@constant

常量标识

@member/@var

记录一个基本数据类型的成员变量

@method

标记一个方法或函数

@param

标记方法参数及参数类型

@property

标明一个对象的属性

@readonly

只读

@return

标明返回值、类型及描述

@type

描述代码变量的类型

@description

如果在注释开始描述可省略此标签

@enum

一个类中属性的类型相同时,使用此标签标明

@example

示例,代码可自动高亮

@exports

标识此对象将会被导出到外部调用

@ignore

忽略此注释块

@link

内联标签,创建一个链接,如 `{@link http://github.com Github}`

@name

指定一段代码的名称,强制 JSDoc 使用此名称,而不是代码里的名称

@namespace

指定一个变量为命名空间变量

@static

描述一个不需实例即可使用的变量

@summary

对描述信息的短的概述

@throws

描述方法将会出现的错误和异常

@todo

描述函数的功能或任务

@tutorial

插入一个指向向导教程的链接

更多标签可参考

http://yui.github.io/yuidoc/syntax/index.html

http://usejsdoc.org/

开发工具

sublime+DocBlockr

 

 

/** Tab(回车)自动生成注释

 

在注释中回车自动生成 *

 

输入@会自动提示标准注释的标签

 

文档输出

YUIDoc

不解析文本,完全按照注释标签进行生成文档,与代码分离

NodeJs环境

https://nodejs.org/download/ 下载node.js

 

安装YUIDoc

npm install –g yuidocjs

 

使用

在相应的目录下输入 yuidoc . ,会在当前目录生成 out文件,里面生成注释文档

 

在相应的目录下输入 yuidoc . –server <port>,会使用nodejs环境生成对应的网站

 

编写Js注释

l  以 /** 开头,*/ 结束

l  按照层级格式编写

@module,[@sumodule], @class,@method,@property等层级格式

l  @method,@property,@param等必须在@class下面

l  每个标签快里面只能包含下面一个标签,描述了当前代码块的作用。

@module 标签描述一组关联的类(对,对,JS 没有类,YUIDoc只是把有构造方法也归为类罢了)。

@class标签专门描述类的。在YUI库中通常是个构造函数。每个有@class 标签的注释块都应该有一个@static 或者 @constructor的副标签。

@method 描述类中的方法。你将会用到 @return 和 @params 副标签加以说明。

@property 描述类中的属性

@event 描述你自定义的可触发事件。YUIDoc文档里指出:

 

 

转载于:https://www.cnblogs.com/SLchuck/p/4376200.html

<think>好的,我需要回答用户关于JavaScript注释的使用方法和示例的问题。首先,我要确保自己正确理解用户的需求。用户可能希望了解如何在JavaScript中添加注释,不同类型的注释有什么用途,以及一些实际的例子。同时,用户提到参考之前的引用内容,虽然引用中的例子和规范可能不完全相关,但需要从中提取有用的信息。 首先,我应该回顾JavaScript中的两种主要注释类型:单行注释和多行注释。单行注释使用//,而多行注释用/* ... */。根据引用[3]中的例子,用户展示了单行和多行注释的基本用法,比如: //这是一个单行注释 let myVariable=5 /* 这是一个多行注释,用于解释下面的代码逻辑 let myFunction=function(){ console.log("Hello, World!"); } */ 这可以作为基础示例。接下来,引用[1]提到注释用于提高可读性和维护性,解释功能、目的或实现细节。因此,在回答中需要强调注释的重要性,比如说明代码逻辑、参数说明等。 引用[2]提到了JSDoc注释,特别是@param标签的使用。虽然用户没有直接问JSDoc,但作为最佳实践的一部分,应该包括这一点。例如: /** * 计算两个数字的和 * @param {number} a 第一个加数 * @param {number} b 第二个加数 * @returns {number} 两数之和 */ function add(a, b) { return a + b; } 这样的示例展示了如何用注释描述函数参数和返回值,这对文档生成工具很有帮助。 接下来,我需要组织回答的结构,确保清晰。可能的结构是: 1. 注释类型:单行和多行 2. 注释用途:解释代码、调试、文档生成 3. 最佳实践:何时注释、避免冗余、JSDoc规范 4. 示例代码 同时,用户提到生成相关问题,我需要根据内容提出相关问题,比如注释规范、JSDoc使用、调试注释等。 需要检查是否有遗漏,比如特殊情况的注释,或者注释在调试中的临时使用。例如,临时禁用代码块: // let result = calculate(); // 暂时禁用此计算 或者使用多行注释注释掉多行代码: /* function oldFunction() { // 旧代码 } */ 此外,确保语法正确,比如在代码块中使用正确的标记,避免格式错误。还要注意中文回答,不使用专业术语时保持口语化,但需要准确。 最后,确认引用标识正确添加,虽然用户提供的引用可能不完全相关,但需要根据内容适当引用,比如引用[1]提到注释的重要性,引用[2]关于JSDoc,引用[3]的基础示例。 总结步骤: - 介绍两种注释类型及示例 - 说明注释的用途,如解释代码、调试、文档 - 提供JSDoc示例 - 最佳实践建议 - 生成相关问题 现在将这些整理成结构清晰的回答,并确保符合用户的要求,如使用中文,正确格式的LaTeX(虽然这个问题可能不需要数学公式,但按系统指令处理),以及相关问题。</think>### JavaScript 注释的使用方法及示例 JavaScript 注释主要用于提高代码可读性、辅助调试和生成文档。以下是具体使用方法及示例: --- #### 一、注释类型 1. **单行注释** 以 `//` 开头,仅作用于单行内容,适用于简短说明: ```javascript // 定义用户年龄变量 let age = 25; ``` 2. **多行注释** 使用 `/* ... */` 包裹内容,适用于多行解释或临时禁用代码块: ```javascript /* 函数说明:计算商品总价 参数:price(单价), quantity(数量) 返回值:总价(含税) */ function calculateTotal(price, quantity) { return price * quantity * 1.1; // 10% 税率 } ``` --- #### 二、注释的用途 1. **解释代码逻辑** 描述复杂算法或关键步骤: ```javascript // 使用二分查找法提高搜索效率 let left = 0, right = array.length - 1; ``` 2. **调试代码** 临时禁用代码或添加调试信息: ```javascript // console.log("调试信息:当前值为", value); // 正式环境需注释掉 ``` 3. **生成文档(JSDoc)** 通过规范化注释生成 API 文档: ```javascript /** * 格式化日期为字符串 * @param {Date} date 日期对象 * @returns {string} 格式为 "YYYY-MM-DD" 的字符串 */ function formatDate(date) { return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`; } ``` --- #### 三、最佳实践 1. **避免冗余注释** 代码本身应尽量自解释,例如: ```javascript // 差:重复代码意图 let count = 0; // 初始化计数器 // 好:注释解释特殊逻辑 let threshold = 100; // 阈值根据实验数据设定[^1] ``` 2. **使用 JSDoc 规范** 对函数参数、返回值及异常进行说明(参考引用[2]): ```javascript /** * 验证用户名合法性 * @param {string} username 待验证的用户名 * @throws {Error} 用户名不合法时抛出异常 */ function validateUsername(username) { if (username.length < 4) throw new Error("用户名过短"); } ``` --- #### 四、完整示例 ```javascript // 单行注释:启用严格模式 "use strict"; /* * 多行注释:主程序入口 * 初始化配置并启动服务 */ function main() { loadConfig(); // 加载配置文件 startServer(); } /** * 获取用户评分平均值 * @param {number[]} scores 评分数组 * @returns {number} 平均值(保留两位小数) */ function getAverage(scores) { let sum = scores.reduce((a, b) => a + b, 0); return Number((sum / scores.length).toFixed(2)); } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值