Javascript注释规范

Javascript注释规范Javascript注释规范

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

最近查看代码,看其他人的代码确实很让人头疼,由于没有任何注释规范,导致代码里很少有注释,或者注释写的很简练,今天对于注释规范进行总结。
js注释规范基于jsdoc,写出的代码注释能够成功生成注释文档。
由于jsdoc的规范太多,为了项目的可用性,对jsdoc的某些属性进行提取形成文档,供开发人员使用。

方法注释

基本方法块注释

如果描述不能描述清楚,添加例子来描述。

/** * @method * @param {Type} data 目标对象 * @returns {Type} 运营商名称 * @desc 根据目标对象获取运营商 */
function matchedNumber(data){
    return '返回对象'
}

Jetbrains全家桶1年46,售后保障稳定

基本方法块注释,注释过长

/** * @method * @param {Type} data 目标对象<br/> * 例: * { * target:手机号 * } * @returns {Type} 运营商名称 * @desc 根据目标对象获取运营商 */
function matchedNumber(data){
    return '返回对象'
}

如果需要折行则在文本中使用<br/>标签

基本方法块注释,参数可选

/** * @method * @param {Type} [data] 目标对象 * 例: * { * target:手机号 * } * @returns {Type} 运营商名称 * @desc 根据目标对象获取运营商 */
function matchedNumber(data){
    return '返回对象'
}

基本方法块注释,带默认值

/** * @method * @param {Type} data={} 目标对象 * 例: * { * target:手机号 * } * @returns {Type} 运营商名称 * @desc 根据目标对象获取运营商 */
function matchedNumber(data){
    return '返回对象'
}

方法块注释特殊参数

如果描述不能描述清楚,添加例子来描述。
如果方法中有异常处理,标记异常处理注释

/** * @method * @param {Type} data 目标对象 * @returns {Type} 运营商名称 * @desc 根据目标对象获取运营商 * @throws {string} 抛出'Error'异常 * @example * add(1, 2); // 返回3 */
function matchedNumber(data){
    return '返回对象'
}

如果有返回值增加@returns 如果没有省略此属性
参数和返回值类型Type:string、boolean、number、object、array、function

文件注释

在文件头部增加文件注释

/** * @file LBS控制器 * @author limingle * @copyright Synway SFE * @createDate 2017-10-16 09:40:11 */

变量注释

将关键的变量进行特殊注释,生成到文档中

/** * @var {object} * @desc 变量定义 * @property {string} a 属性a * @property {string} b 属性b */
var foo = {
    a: 'a',
    b: 'b'
}

常量注释

将关键常量进行特殊注释,生成到文档中,如果有默认值增加@default属性

/** * @constant {string} * @default #000 * @desc 常量定义 */
const COLOR_WHITE = '#fff';

枚举注释

用于url列表或者颜色枚举值,一般用于配置文件中

/** * @enum {number} * @desc cgi常见的返回码 */
var RETCODE = {
    /** * @desc 未登录 */
    NOT_LOGIN: 100000,
    /** * @desc 参数错误 */
    PARAM_ERROR: 100001,
    /** * @type {string} * @desc 未知错误 */
    UNKOWN_ERROR: 'unkown'
}

类的注释

默认情况先一个function就是一个类
ES6中使用Class来表示一个类
我们项目中使用class.js来实现类,在我们项目中使用类注释时需要在@class后边增加类名,不要jsdoc无法自动识别类名

/** * @class * @classdesc 这是对myClass类的描述 * @desc 这是对myClass类的构造函数的描述 */
function myClass() {
    ...
}

或者

/** * @class LBSControllerCom * @classdesc LBS控制类 * @desc 初始化ws */
var LBSControllerCom = Com.extends({})

类的属性

类的属性和变量都会生成到jsdoc文档的Member模块中,在类中使用属性标识

var LBSControllerCom = Com.extends({
    /** * @member {string} * @desc 这样标识类的属性 */
    foo1 : 'a',
    init: function() {}
})

参考链接:
JSDoc Guide

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215562.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 腾讯课堂下载回放视频课程记录_腾讯课堂回放下载

    腾讯课堂下载回放视频课程记录_腾讯课堂回放下载腾讯课堂下载回放视频对于爱学习的童鞋来说,能把腾讯课堂上的视频下载下来,随时随地听课,那该有多好啊!但是,腾讯课堂采取了多种加密措施,导致下载视频难上加难……要想下载视频,必须分为两部分进行,先获取视频的m3u8地址,然后用m3u8地址下载视频。第一步,获取视频m3u8地址:下面用两款热门浏览器:360安全浏览器和谷歌浏览器进行演示。①360浏览器:…

    2022年10月26日
    0
  • git工具的使用方法[通俗易懂]

    一、SVN与git的区别SVN是“集成式”管理方式,所有的“版本控制器”都在中央服务器上,每个开发人员的的计算机都要连接到中央服务器上才能进行合作开发。开发人员一般只能在公司才能进行开发(因为中央服务器在公司),局限性较大。git是“分布式“管理方式,开放人员的每台计算机上都有一个“版本控制器”,每个开发人员把自己开发的模块的代码都上传到github上(充当一个远程仓库,类似

    2022年4月8日
    120
  • cbow模型详解_drude模型的三个基本假设

    cbow模型详解_drude模型的三个基本假设初始化:初始化方法的参数包括词汇个数vocab_size和中间层的神经元个数hidden_size。首先生成两个权重(W_in和W_out),并用一些小的随机值初始化这两个权重。设置astype(‘f’),初始化将使用32位的浮点数。生成层:生成两个输入侧的MatMul层、一个输出侧的MatMul层,以及一个SoftmaxwithLoss层。保存权重和梯度:将该神经网络中使用的权重参数和梯度分别保存在列表类型的成员变量params和grads中。正向传播for.

    2022年9月7日
    0
  • tomcat修改http长度限制_解决浏览器与服务器请求url长度限制[通俗易懂]

    tomcat修改http长度限制_解决浏览器与服务器请求url长度限制[通俗易懂]一、前言Http中get与post本身是没有受到长度限制的,受到限制是浏览器与服务器对url长度限制。具体说明请阅读我的零一篇文章《关于HTTPGET/POST请求参数长度最大值的一个理解误区》。二、概述1、服务器限制我目前使用的服务器一般是tomcat+nginx,它们都是通过控制http请求头的长度来进行限制的,nginx的配置参数为large_client_header_buffer…

    2022年8月24日
    4
  • .NET(c#) 移动APP开发平台 – Smobiler(2) – 平台介绍

    .NET(c#) 移动APP开发平台 – Smobiler(2) – 平台介绍  看到大家很多人在后台问我一些问题,所以准备写一个系列了,下面给个目录目录:   .NET(c#)移动APP开发平台-Smobiler(1) 环境的搭建及上手第一个应用类似开发WinForm的方式,使用C#开发Android和IOS的移动应用?听起来感觉不可思议,但是实际上确实很强大,那么Smobiler平台到底是如何实现的呢,这里给大家介绍一下。客户端  Smobi…

    2022年5月29日
    68
  • 如何获取微信视频号的地址(微信公众号的链接地址)

    通过微信接口获取微信视频号视频地址的方法:首先来看微信视频号信息的XML内容:<?xmlversion=”1.0″?><msg> <appmsgappid=””sdkver=”0″> <title>当前微信版本不支持展示该内容,请升级至最新版本。</title> <des/> <action/> <type>51</type> <showtype&gt

    2022年4月17日
    480

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号