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


Posted in Javascript onFebruary 12, 2011

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了。
JSDoc 介绍使用规范JsDoc的使用介绍
我们只是列出了常用的标签,至于更多的可以登陆到官方网站查看
http://code.google.com/p/jsdoc-toolkit/wiki/TagReference

Javascript 相关文章推荐
读jQuery之十二 删除事件核心方法
Jul 31 Javascript
阻止子元素继承父元素事件具体思路及实现
May 02 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
Oct 12 Javascript
jquery datepicker参数介绍和示例
Apr 15 Javascript
js实现文字超出部分用省略号代替实例代码
Sep 01 Javascript
AngularJS ng-repeat数组有重复值的解决方法
Oct 23 Javascript
jquery validation验证表单插件
Jan 07 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
Apr 02 jQuery
vue2导航根据路由传值,而改变导航内容的实例
Nov 10 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
Nov 28 Javascript
图片文字识别(OCR)插件Ocrad.js教程
Nov 26 Javascript
vue的滚动条插件实现代码
Sep 07 Javascript
编写可维护面向对象的JavaScript代码[翻译]
Feb 12 #Javascript
URL地址中的#符号使用说明
Feb 12 #Javascript
基于Jquery制作的幻灯片图集效果打包下载
Feb 12 #Javascript
基于jquery的jqDnR拖拽溢出的修改
Feb 12 #Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
Feb 12 #Javascript
在vs2010中调试javascript代码方法
Feb 11 #Javascript
juqery 学习之六 CSS--css、位置、宽高
Feb 11 #Javascript
You might like
索尼SONY SRF-S83/84电路分析和打磨
2021/03/02 无线电
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
JS实现针对给定时间的倒计时功能示例
2017/04/11 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
jQuery - AJAX load() 实例用法详解
2019/08/27 jQuery
js实现坦克移动小游戏
2019/10/28 Javascript
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
Python中列表与元组的乘法操作示例
2018/02/10 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
基于keras中的回调函数用法说明
2020/06/17 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
html5的input的required使用中遇到的问题及解决方法
2018/04/24 HTML / CSS
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
计算机相关的自我评价
2014/01/15 职场文书
元旦晚会邀请函
2014/01/27 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
2014年化验员工作总结
2014/11/18 职场文书
教师个人总结范文
2015/02/11 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
教师党员个人自我评价
2015/03/04 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL