JavaScript领域

Added in version 1.0.

JavaScript域(名称**js**)提供以下指令:

.. js:module:: name

该指令设置后续对象声明的模块名称.模块名称用于全局模块索引和交叉引用.此指令不会像 py:class 一样创建一个对象标题.

默认情况下,该指令将创建一个可链接的实体,并在全局模块索引中造成一个条目,除非指定了 no-index 选项.如果指定了该选项,该指令只会更新当前模块名称.

Added in version 1.6.

在 5.2 版本发生变更: 模块指令支持主体内容.

.. js:function:: name(signature)

描述一个JavaScript函数或方法.如果您想将参数描述为可选的,请使用方括号,如 documented 对于Python签名.

您可以使用字段来提供有关参数及其预期类型、可能由函数抛出的错误以及返回值的更多详细信息:

.. js:function:: $.getJSON(href, callback[, errback])

   :param string href: An URI to the location of the resource.
   :param callback: Gets called with the object.
   :param errback:
       Gets called in case the request fails. And a lot of other
       text so we need multiple lines.
   :throws SomeError: For whatever reason in that case.
   :returns: Something.

这是渲染为:

$.getJSON(href, callback[, errback])
参数:
  • href (string()) – 资源位置的URI.

  • callback – 与对象一起调用.

  • errback – 在请求失败时被调用.还有很多其他文本,所以我们需要多个行.

抛出:

SomeError() – 无论出于什么原因.

返回:

Something.

:single-line-parameter-list: (no value)

确保函数的参数将在单个逻辑行中输出,覆盖 javascript_maximum_signature_line_lengthmaximum_signature_line_length .

Added in version 7.1.

.. js:method:: name(signature)

此指令是 js:function 的别名,但它描述的是作为类对象方法实现的函数.

Added in version 1.6.

:single-line-parameter-list: (no value)

确保函数的参数将在单个逻辑行中输出,覆盖 javascript_maximum_signature_line_lengthmaximum_signature_line_length .

Added in version 7.1.

.. js:class:: name

描述一个构造函数,用于创建对象.这基本上就像一个函数,但会以 class 前缀出现:

.. js:class:: MyAnimal(name[, age])

   :param string name: The name of the animal
   :param number age: an optional age for the animal

这是渲染为:

class MyAnimal(name[, age])
参数:
  • name (string()) – 动物的名字

  • age (number()) – 动物的可选年龄

:single-line-parameter-list: (no value)

确保函数的参数将在单个逻辑行中输出,覆盖 javascript_maximum_signature_line_lengthmaximum_signature_line_length .

Added in version 7.1.

.. js:data:: name

描述全局变量或常量.

.. js:attribute:: object.name

描述 object 的属性 name.

这些角色用于引用所描述的对象:

:js:mod:
:js:func:
:js:meth:
:js:class:
:js:data:
:js:attr: