标签 | 模板与示例 | 描述 |
---|---|---|
@author |
@author username@google.com (first last)
示例:
|
文件或测试文件的作者. 一般放在 @fileoverview 注释中.
|
@code |
{@code ...}
示例:
|
标示文档描述属于代码类型, 以便在生成的文档中被正确地格式化. |
@const |
@const
@const {type}
示例:
|
标记变量或属性只读和适于内联.
一个用 如果能够清楚地推断类型那么可以省略对常数的声明. 关于变量的额外注释可以缺省.
当对方法使用
更多关于 |
@constructor |
@constructor
示例:
|
用在类的文档中以标示构造函数. |
@define |
@define {Type} description
示例:
|
标示一个可能会在编译时被重载的常量. 本例中, 编译器标示
--define='goog.userAgent.ASSUME_IE=true' 可以在构建文件中定义, 用于指定 goog.userAgent.ASSUME_IE 常量是否应该被替换为 true .
|
@deprecated |
@deprecated Description
示例:
|
用于告诉函数, 方法或者属性是否应该被继续使用. 应该总能提供替代的调用方法. |
@dict |
@dict Description
示例:
|
当使用 @dict 注解构造函数(本例中是 Foo )时, 你只能使用花括号来访问 Foo 对象的属性. 注解也可以直接作为对象字面量使用.
|
@enum |
@enum {Type}
示例:
|
|
@export |
@export
示例:
|
左侧给出的代码在编译器开启
这会导出到还未编译的代码中. 使用
|
@expose |
@expose
示例:
|
声明一个公开属性. 公开属性无法被编译器以任何方式删除, 重命名, 禁用或优化. 同名属性也将无法被优化.
|
@extends |
@extends Type
示例:
|
配合 @constructor 使用, 用以标示一个类继承自其他类. 类型周围的花括号可以缺省.
|
@externs |
@externs
示例:
|
声明属于外部文件. |
@fileoverview |
@fileoverview Description
示例:
|
让注释块提供文件级信息. |
@implements |
@implements Type
示例:
|
配合 @constructor 使用, 用以标示类引入类一个接口. 类型周围的花括号可以缺省.
|
@inheritDoc |
@inheritDoc
示例:
|
已废弃. 请使用 @inheritDoc 即等同于也使用了 @override .
|
@interface |
@interface
示例:
|
用于标示定义了接口的函数. |
@lends |
@lends objectName
@lends {objectName}
示例:
|
标示对象的键应该被视为其他对象的属性. 该注解只能用于对象字面量.
注意花括号中的名字并非其他注解所用的类型名, 而是将属性"借出"的那个对象的名字. 例如, @type {Foo} 意思是" Foo 的实例", 但 @lends {Foo} 的意思却是"构造函数 Foo".
参考
JSDoc 工具文档 来查看关于该注解的更多资料.
|
@license or @preserve |
@license Description
示例:
|
任何用 @license 或者
@preserve 注解的内容编译器均予以保留并输出岛文件编译后代码的顶部. 这个注解允许一些重要的提示(如合法证书或者版权信息)在编译期间不变. 换行也会被保留.
|
@noalias |
@noalias
示例:
|
用于外部文件中, 向编译器标示, 不应将变量或函数作为编译器向外部传递别名的一部分而对其使用别名. |
@nocompile |
@nocompile
示例:
|
用于文件顶部, 告知编译器, 解析该文件但不要编译它. 使用该注解的代码并不需要编译, 在编译测试中应当被忽略(例如 bootstrap 代码). 成对使用. |
@nosideeffects |
@nosideeffects
示例:
|
该注解可用于函数或者构造函数声明的一部分, 用于标示调用该函数不会造成副作用. 这个注解允许编译器在没有使用其返回值时移除对这些函数的调用. |
@override |
@override
示例:
|
标示子类中被隐藏的父类方法和属性. 如果没有包含其他文档, 属性和方法会从其父类继承文档. |
@param |
@param {Type} varname Description
示例:
|
用于方法, 函数或者构造函数来为函数参数添加文档. 类型名需要括起在花括号中. 如果类型被省略, 则编译器不会检测参数的类型. |
@private |
@private
@private {type}
示例:
|
配合方法和属性名尾部的下划线来标示该成员变量为 私有类型, 且不会再改变(final). |
@protected |
@protected
@protected {type}
示例:
|
用于标示成员或属性为 受限类型. 应当配合那些名字没有尾部下划线的成员或属性使用. |
@public |
@public
@public {type}
示例:
|
用于标示成员或属性为公共类型. 默认情况下变量和属性就属于公共类型, 因此这条注解很少用到. 仅仅用于一些不会很轻易被作为私有变量重载可见性的成员上. |
@return |
@return {Type} Description
示例:
|
配合方法和函数来为返回值添加文档. 当为布尔量编写描述时, 优先使用"Whether the component is visible"而非"True if the component is visible, false otherwise"这样的句式. 如果无返回值, 则不应该使用 @return 标签.
类型名应当括起在花括号中. 如果类型名被省略, 编译器不会对返回值进行类型检查.
|
@see |
@see Link
示例:
|
引用一个对其他类的函数和方法的查询. |
@struct |
@struct Description
示例:
|
当对构造函数(本例中为 Foo )使用 @struct 注解后, 你将只能用点运算符去访问 Foo 对象的属性. 同时, 你也无法在创建之后再向 Foo 对象添加新属性. 该注解也可以直接用于对象字面量.
|
@supported |
@supported Description
示例:
|
用于文件概述中用于标示支持该文件的浏览器. |
@suppress |
@suppress {warning1|warning2}
@suppress {warning1,warning2}
示例:
|
抑制工具发出的警告. 警告分类使用 | 或者 , 来分隔.
|
@template |
@template
示例:
|
该注解用于声明 模板类型名. |
@this |
@this Type
示例:
|
该类型的对象处于一个特定方法被调用的上下文中. 当 this 关键字被一个非原型方法的函数所引用时需要使用该注解.
|
@type |
@type Type
示例:
|
标示变量, 属性, 表达式的 类型. 一般不要求在变量周围用花括号, 但某些项目会出于一致性考虑对所有类型都这样做. |
@typedef |
@typedef
示例:
|
该注解用于声明一个更 复杂类型的别名. |