@namespace

描述:记录一个命名空间对象。

语法

@namespace [{<type>}] <SomeName>]

概述

@namespace标签指明对象是一个命名空间。你也可以书写一个虚拟JSDoc注释,通过使用代码来定义命名空间。

如果一个命名空间是由除对象字面量以为的标识符定义的,您可以包括一个 type 的表达式,跟在@namespace标签后面。如果@namespace标签包括一个type,那么它也必须包含一个名称。

您可能需要描述一个命名空间,其名称中包含特殊字符,如"#" 或 "!"。在这些情况下,当你的描述或链接到这个命名空间时,你必须将命名空间中特殊符号部分使用双引号括起来。详情参见下面的例子。

例子

例如,对象上使用 @namespace 标签:

/**
 * My namespace.
 * @namespace
 */
 var MyNamespace = {
     /** documented as MyNamespace.foo */
    foo: function() {},    
    /** documented as MyNamespace.bar */
    bar: 1};

为虚拟注释加上 @namespace 标签:

/**
 * A namespace.
 * @namespace MyNamespace
 */
 /**
 * A function in MyNamespace (MyNamespace.myFunction).
 * @function myFunction
 * @memberof MyNamespace
 */

如果 @namespace 的名称包括特殊字符,你必须将命名空间中特殊符号部分使用双引号括起来。如果名称已经包含一个或多个双引号,那么使用反斜线(\)转义双引号。

例如,在不寻常的成员名称上使用@namespace标签:

/** @namespace window */
/**
 * Shorthand for the alert function.
 * Refer to it as {@link window."!"} (note the double quotes).
 */
 window["!"] = function(msg) { alert(msg); };