ajax相关--查看文章
 
Ajax基础教程5.1  使用JSDoc建立JavaScript代码的文档
发布时间:2009-4-25

作为一名有经验的Web应用开发人员,你也许可以熟练地应用某种服务器端技术(或者,应用多种服务器端技术)来构建Web应用。我们已经看到,在过去几年中,服务器端技术有了长足的发展,服务器端软件开发越来越容易,也越来越健壮,相比之下,客户端技术基本上被抛在了一边。Ajax技术的横空出世使这种状况有所改观,因为开发人员现在有了一个更丰富的客户端工具箱,有大量工具可以使用。你可能不习惯使用大量的HTMLJavaScriptCSS,但是如果要实现Ajax技术,你就必须这么做。本章将介绍的工具和技术会使得开发Ajax应用更为容易。本章不是深入全面的教程,只能作为这些有用工具和技术的快速入门。

5.1  使用JSDoc建立JavaScript代码的文档

像其他的许多编程语言一样,在一般的软件开发人员看来,JavaScript也有一个基本的缺陷:编写(或者重新编写)一个功能通常相对容易,但是要阅读现有的代码并明确它是如何工作的,就不那么轻松了。编写代码时可以适当地增加注释,这样当其他开发人员要理解代码如何工作,特别是要修改代码的功能时,就能减轻他们的负担,节省他们的时间和精力。

Java语言引入了一个工具,名为javadoc。这个工具可以根据源代码中的文档注释以HTML格式生成API文档。所生成的HTML文档在任何Web浏览器上都能阅读,而且由于它是以HTML格式生成的,所以可以在线发布,这样开发人员就能很容易地访问这些文档。以一种可以轻松浏览的格式来提供API文档,这种方法使得开发人员不必仔细地查看源代码才能了解某个类或方法会有怎样的行为,以及该如何使用。

JSDoc是面向JavaScript的一个类似的工具jsdoc.sourceforge.net)。JSDoc是一个开源工具,是采用GPLGNU Public License)协议发布的。JSDocPerl编写,这意味着Windows用户必须安装一个Perl运行时环境。(而对于大多数LinuxUnix操作系统,Perl是其中的一个标准部分)。

5.1.1  安装

要使用JSDocWindows用户必须安装一个Perl环境,如ActivePerlwww.activeperl. com)。还必须安装一个非标准的Perl模块,名为HTML::Templatewww.cpan.org)。JSDoc项目网页提供了有关说明,如果需要帮助可以参考。

JSDoc发布为一个压缩的tarball。要安装JSDoc,你只需从JSDoc项目网页下载tarball,把它解开到指定的目录,进入JSDoc目录,输入以下命令,就能测试JSDoc了:

perl jsdoc.pl test.js

JSDoc将所得到的HTML文件保存到名为js_docs_out的目录。打开这个文件夹中的index.html文件,就可以浏览根据test.js文件生成的文档。

5.1.2  用法

既然对JSDoc已经有所了解,你可能想知道如何使用JSDoc来为你的JavaScript代码生成文档。表5-1列出了可以创建HTML文档的一些特殊JSDoc标记。这些标记对于曾在Java代码中编写过javadoc注释的人员并不陌生。包含在生成文档中的每个注释块都必须以/**开头,并以*/结束。

5-1 JSDoc命令属性

   

@param

@argument

指定参数名和说明来描述一个函数参数

@return

@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发布包中包括一个名为test.js的文件,这是一个很好的参考例子,可以从中了解如何使用JSDoc。你应该记得,第一次测试JSDoc安装是否成功时就是根据这个文件来创建文档文件的。如果对如何使用JSDoc标记还有疑问,可以参考这个文件。

代码清单5-1是一个小示例,展示了JSDoc的用法。jsDocExample.js定义了两个类:PersonEmployeePerson类有一个属性name,还有一个方法getNameEmployee类继承自Person类,并增加了titlesalary属性,另外还增加了一个方法getDescription

代码清单5-1  jsDocExample.js

/**

 * @fileoverview This file is an example of how JSDoc can be used to document

 * JavaScript.

 *

 * @author Ryan Asleson

 * @version 1.0

 */

 

/**

 * Construct a new Person class.

 * @class This class represents an instance of a Person.

 * @constructor

 * @param {String} name The name of the Person.

 * @return A new instance of a Person.

*/

function Person(name) {

    /**

     * The Person's name

     * @type String

    */

    this.name = name;

    /**

     * Return the Person's name. This function is assigned in the class

     * constructor rather than using the prototype keyword.

     * @returns The Person's name

     * @type String

    */

    this.getName = function() {

        return name;

    }

}

 

/**

 * Construct a new Employee class.

 * @extends Person

 * @class This class represents an instance of an Employee.

 * @constructor

 * @return A new instance of a Person.

*/

function Employee(name, title, salary) {

    this.name = name;

 

    /**

     * The Employee's title

     * @type String

    */

    this.title = title;

 

    /**

     * The Employee's salary

     * @type int

    */

    this.salary = salary;

}

 

/* Employee extends Person */

Employee.prototype = new Person();

 

/**

 * An example of function assignment using the prototype keyword.

 * This method returns a String representation of the Employee's data.

 * @returns The Employee's name, title, and salary

 * @type String

*/

Employee.prototype.getDescription = function() {

    return this.name + " - "

        + this.title + " - "

        + "$" + this.salary;

}

虽然不像JSDoc发布包中的test.js文件那么完备,这个示例同样很好地展示了JSDoc最常见的用法(见图5-1)。@fileoverview 标记提供了jsDocExample.js的概述。@class标记描述了两个类,@constructor标记将适当的函数标记为对象的构造函数。@param标记描述了函数的输入参数,@returns@type标记描述了函数的返回值和返回类型。这些标记是你最有可能用到的,而且对于浏览文档的其他开发人员,这些标记也最有用。

5-1 JSDoc根据jsDocExample.js文件生成的文档



 [ajax相关]Javascript设计模式学习系列 一 (佚名,07-11)
首先介绍一个网站,我很多书本都是在上面下载的,很好。http://www.freebookspot.in/我现在学习的书本是:Pro Javascript Design Pattern首先简单地为优雅的Javascript代码开个头1.随意的Javascript,有表现力的Javascript常用J……

 [ajax相关]web布局最实用的12条css技巧 (未知,08-17)
1:Rounded corners without images效果图——Rounded corners without images<div id=”container”><b class=”rtop”><b class=”r1″>……

 [ajax相关]Ajax基础教程5.2  使用Firefox扩展验证HTML内容 (myext整理,04-25)
5.2  使用Firefox扩展验证HTML内容当前的浏览器都能很好地实现W3C DOM标准。只要创建的内容能遵循标准HTML或XHTML,就几乎能得到所有浏览器的支持。不过通常说起来简单,做起来就不那么容易了。不同于C++或Java这样的编译语言,HTML没有编译器可以将人可读的代码翻译……

 [ajax相关]掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出 (未知,10-17)
在 Web 请求中使用 XMLHttpRequest文档选项<!--document.write(打印本页打印本页<!--document.write(将此页作为电子邮件发送 将此页作为电子邮件发送讨论级别: 中级Brett McLaughlin (brett@newInstance.c……

 [ajax相关]在JavaScript中使用面向对象 (Truly,09-06)
作者:Truly日期:2007.7.24前言     OO(面向对象)概念的提出是软件开发工程发展的一次革命,多年来我们借助它使得很多大型应用程序得以顺利实现。如果您还没有掌握并使用OO进行程序设计和开发,那么您无疑还停留在软件开发的石器时代。大多数编程语言,……

 


©2008 MyExt.cn
本站文章来自互联网,仅供学习和研究使用,如有版权问题,请发送Email:myext@126.com.