JSDoc 介绍使用规范JsDoc的使用介绍

 更新时间:2011年02月12日 20:34:45   作者:  
JsDoc Toolkit 是一个把js描述格式化成文档的工具。开发者只需按JsDoc的规范写好注释就可以很方便导出文档。它是google 推荐的 JsDoc生成工具。
JsDoc Toolkit不久前发布了2.3.2版本,主要还是对前版本的修复。
如果你需要使用Ant,JsDoc还有一个Ant插件:JsDoc Toolkit Ant Task
下载JsDoc Toolkit2.3.2:http://jsdoc-toolkit.googlecode.com/files/jsdoc_toolkit-2.3.2.zip
命令名描述
@param @argument 指定参数名和说明来描述一个函数参数

@returns 描述函数的返回值
@author 指示代码的作者
@deprecated 指示一个函数已经废弃,而且在将来的代码版本中将彻底删除。要避免使用这段代码
@see 创建一个HTML链接,指向指定类的描述
@version 指定发布版本
@requires 创建一个HTML链接,指向这个类所需的指定类
@throws @exception 描述函数可能抛出的异常的类型
{@link} 创建一个HTML链接,指向指定的类。这与@see很类似,但{@link}能嵌在注释文本中
@fileoverview 这是一个特殊的标记。如果在文件的第一个文档块中使用这个标记,则指定该文档块的余下部分将用来提供这个文件的概述
@class 提供类的有关信息,用在构造函数的文档中
@constructor 明确一个函数是某个类的构造函数
@type 指定函数的返回类型
@extends 指示一个类派生了另一个类。JSDoc通常自己就可以检测出这种信息,不过,在某些情况下则必须使用这个标记
@private 指示一个类或函数是私有的。私有类和函数不会出现在HTML文档中,除非运行JSDoc时提供了--private命令行选项
@final 指示一个值是常量值。要记住JavaScript无法真正保证一个值是常量
@ignore JSDoc忽略有这个标记的函数

JsDoc:是js文档生成工具,它从javascript程序源代码中抽取类、方法、成员等注释信息形成一个和源代码配套的API帮助文档。
Java开源项目http://www.jsdoctoolkit.org/,它是一个功能强大的javascript文档生成工具。
下面我们来结束一下如何使用。
我们通过下载工具类库。
这里我们使用的是jsdoc_toolkit-2.1.0.zip也是当前的最高版本。
我们将这个文件解压。可以看到里面README.txt文件。
这里有详细的使用说明。【好像介绍到这里就可以了。当然你也可以继续读下】
这里我们需要通过命令行进行创建javascript文档。
java -jar jsrun.jar app/run.js -a -e=GB18030 -t=templates/jsdoc test/*.js
当然如果感觉通过命令行的方式比较麻烦,我们可以自行创建一个.bat文件
将上面的内容复制到该文件中,执行即可。
下面我来简单解释一下这其中的参数
-a 表示全部的方法
-e 表示对应的文件的编码根式 这里对应的是GB18030 默认的是utf-8
-t 表示生产doc的文档样式模板
这里的test/*.js表示在test目录下的全部javascript文件
执行完毕后将文档结果默认输出到/out/jsdoc目录下。当然这个目录也是可以定义的
具体参数可以使用
java -jar jsrun.jar app/run.js --help
进行查看。
结果如下:
复制代码 代码如下:

OPTIONS:
-a or --allfunctions
Include all functions, even undocumented ones.
-c or --conf
Load a configuration file.
-d=<PATH> or --directory=<PATH>
Output to this directory (defaults to "out").
-D="myVar:My value" or --define="myVar:My value"
Multiple. Define a variable, available in JsDoc as JSDOC.opt.D.myVar.
-e=<ENCODING> or --encoding=<ENCODING>
Use this encoding to read and write files.
-E="REGEX" or --exclude="REGEX"
Multiple. Exclude files based on the supplied regex.
-h or --help
Show this message and exit.
-n or --nocode
Ignore all code, only document comments with @name tags.
-o=<PATH> or --out=<PATH>
Print log messages to a file (defaults to stdout).
-p or --private
Include symbols tagged as private, underscored and inner symbols.
-q or --quiet
Do not output any messages, not even warnings.

下面我们来创建test下的js文件
简单的方法标注
myjs.js
复制代码 代码如下:

/**
* @fileOverview 简单的方法标注示例
* @author <a href="llying.javaeye.com">llying</a>
* @version 0.1
*/

/**
* @description 加法运算
* @param {Num} num1 加数
* @param {Num} num2 被加数
* @return {Num} result 结果
*/
function add(num1,num2){
return num1 + num2;
}
/**
* @description 减法运算
* @param {Num} num1 减数
* @param {Num} num2 被减数
* @return {Num} result 结果
*/
function minus(num1,num2){
return num1 - num2;
}

类的方法标注
myjs2.js
复制代码 代码如下:

/**
* @fileOverview 简单的类对象标注示例
* @author <a href="llying.javaeye.com">llying</a>
* @version 0.1
*/
/**
* @author llying
* @constructor Person
* @description 一个Person类
* @see The <a href="#">llying</a >.
* @example new Parent(“张三”,15);
* @since version 0.1
* @param {String} username 姓名
* @param {Num} age 年龄
*/
function Person(username,age)
{
/**
* @description {Sting} 姓名
* @field
*/
this.username = username;
/**
* @description {Num} 年龄
* @field
*/
this.age = age
/**
* @description 弹出say内容
* @param {String} content 内容
*/
this.say = function(content)
{
alert(this.username+" say :"+content);
}
/**
* @description 返回json格式的对象
* @return {String} json格式
* @see Person#say
*/
this.getJson = function(){
return "{name:"+this.username+",age"+this.age+"}";
}
}

现在我们可以运行java -jar jsrun.jar app/run.js -a -e=GB18030 -t=templates/jsdoc test/*.js

至此我们的js文档生成完毕。我们也无需羡慕JavaDoc了。

我们只是列出了常用的标签,至于更多的可以登陆到官方网站查看
http://code.google.com/p/jsdoc-toolkit/wiki/TagReference

相关文章

  • 利用JavaScript实现的10种排序算法总结

    利用JavaScript实现的10种排序算法总结

    这篇文章主要介绍了利用JavaScript实现的十种排序算法,主要介绍了冒泡,选择,插入,希尔,归并,快速,堆排,计数,桶排和基数,有感兴趣的小伙伴可以参考阅读本文
    2023-05-05
  • JavaScript中的this例题实战总结详析

    JavaScript中的this例题实战总结详析

    使用JavaScript开发的时候,很多人多多少少都会被this的指向问题搞蒙圈,下面这篇文章主要给大家介绍了关于JavaScript中this例题实战的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • js 判断数据类型的几种方法

    js 判断数据类型的几种方法

    本文主要介绍了Js中数据类型判断的几种方法。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • uniapp中使用vuex的过程(解决uniapp无法在data和template中获取vuex数据问题)

    uniapp中使用vuex的过程(解决uniapp无法在data和template中获取vuex数据问题)

    这篇文章主要介绍了uniapp中使用vuex(解决uniapp无法在data和template中获取vuex数据问题),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • javascript 页面跳转方法集合

    javascript 页面跳转方法集合

    js 中实现页面跳转的方法(window.location和window.open的区别)
    2009-03-03
  • 原生js实现点击按钮复制内容到剪切板

    原生js实现点击按钮复制内容到剪切板

    这篇文章主要为大家详细介绍了原生js实现点击按钮复制内容到剪切板,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • JS获取字符串实际长度(包含汉字)的简单方法

    JS获取字符串实际长度(包含汉字)的简单方法

    下面小编就为大家带来一篇JS获取字符串实际长度(包含汉字)的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法

    Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法

    最近在研究用bootstrap搭建网站,Bootstrap能自适应pc端和手机端,并且移动设备优先,适合现如今移动营销,大家用的设备基本是触屏的了,能用滑动交互在小屏幕上体验会更好,那么如何实现呢?下面小编给大家介绍下bootstrap 手势滑动轮播图的实现方法
    2016-10-10
  • JavaScript实现字符串转JSON对象的4种方法代码

    JavaScript实现字符串转JSON对象的4种方法代码

    这篇文章主要给大家介绍了关于JavaScript实现字符串转JSON对象的4种方法,使用ajax的开发项目过程中,经常需要将json格式的字符串返回到前端,前端解析成js对象(JSON),需要的朋友可以参考下
    2023-10-10
  • javascript实现京东登录显示隐藏密码

    javascript实现京东登录显示隐藏密码

    这篇文章主要为大家详细介绍了javascript实现京东登录显示隐藏密码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08

最新评论