@use JSDoc

语法

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

概述

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

如果命名空间是由对象字面量以外的符号定义的,则可以将类型表达式与 @namespace 标记一起包含。如果 @namespace 标记包含类型,则还必须包含名称。

您可能需要记录名称中包含特殊字符(例如“#”或“!”)的命名空间。在这些情况下,在记录或链接到命名空间时,必须用引号将包含特殊字符的命名空间部分引起来。有关详细信息,请参阅以下示例。

示例

将 @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); };