@namespace

.. @namespace::
语法

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

概述

@namespace标记表示对象为其成员创建名称空间. 您还可以编写一个虚拟JSDoc注释, 用于定义代码使用的命名空间.

如果命名空间由对象文字以外的符号定义, 则可以包含类型表达式以及@namespace标记. 如果@namespace标记包含类型, 则它还必须包含名称.

您可能需要记录名称中包含不常用字符的名称空间, 例如“#”或“!”. 在这些情况下, 当您记录或链接到命名空间时, 必须在包含不常用字符的命名空间部分周围添加引号. 有关详细信息, 请参阅以下示例

示例
Using the @namespace tag with an object
/**
 * My namespace.
 * @namespace
 */
var MyNamespace = {
    /** documented as MyNamespace.foo */
    foo: function() {},
    /** documented as MyNamespace.bar */
    bar: 1
};
Using the @namespace tag for virtual comments
/**
 * A namespace.
 * @namespace MyNamespace
 */

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

如果@namespace包含名称具有异常字符的符号, 则必须将符号的名称括在双引号中. 如果符号的名称已包含一个或多个双引号, 请使用前导反斜杠()转义双引号.

Using the @namespace tag with unusual member names
/** @namespace window */

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