DedicatedWorkerGlobalScope

DedicatedWorkerGlobalScope 对象(也就是 Worker 全局作用域)可以通过 self 关键字来访问。一些在 worker 全局作用域下不可用的全局函数、命名空间对象以及构造器,也可以通过此对象使用。在 JavaScript 参考Web Workers 可以使用的函数和类 (en-US)页面中,有列举这些特性。

属性

该接口从 WorkerGlobalScope (en-US) 接口以及它的父接口 EventTarget 继承属性,因此,此接口也实现了来自 WindowTimersWindowBase64 的属性。

DedicatedWorkerGlobalScope.name (en-US) 只读

通过 Worker() 构造器创建 Worker 时,可以选择为其设置一个名称,即此属性的值。这主要用于调试。

从 WorkerGlobalScope 继承的属性

WorkerGlobalScope.self

返回一个指向 DedicatedWorkerGlobalScope 本身的对象引用。

WorkerGlobalScope.console (en-US) 只读

返回与当前 worker 相关联的 Console

WorkerGlobalScope.location (en-US) 只读

返回与当前 worker 相关联的 WorkerLocation (en-US)WorkerLocation 是一个 worker 专有的 location 对象,基本上是浏览器作用域下 Location 的子集,但被被适配给了 worker。

WorkerGlobalScope.navigator (en-US) 只读

返回与当前 worker 相关联的 WorkerNavigator (en-US)WorkerNavigator 是一个 worker 专有的 navigator 对象,基本上是浏览器作用域下 Navigator 的子集,但被被适配给了 worker。

WorkerGlobalScope.performance (en-US) 只读 非标准

返回与当前 worker 相关联的 Performance,是一个正常的 performance 对象,但只有一部分属性和方法可用。

事件处理器

该接口从 WorkerGlobalScope (en-US) 接口以及它的父接口 EventTarget 继承事件处理器,因此,此接口也实现了来自 WindowTimersWindowBase64 的事件处理器。

DedicatedWorkerGlobalScope.onmessage (en-US)

Is an event handler representing the code to be called when the message event is raised. These events are of type MessageEvent and will be called when the worker receives a message from the document that started it (i.e. from the Worker.postMessage method.)

DedicatedWorkerGlobalScope.onmessageerror (en-US)

Is an event handler representing the code to be called when the messageerror (en-US) event is raised.

方法

该接口从 WorkerGlobalScope (en-US) 接口以及它的父接口 EventTarget 继承方法,因此,此接口也实现了来自 WindowTimersWindowBase64 的方法。

WorkerGlobalScope.close() (en-US)

抛弃当前 WorkerGlobalScope 的 event loop 中所有正在排队的任务,关闭当前作用域。

DedicatedWorkerGlobalScope.postMessage (en-US)

向该 worker 的父文档发送消息——消息可以是任何 Javascript 对象。

从 WorkerGlobalScope 继承的方法

WorkerGlobalScope.dump() (en-US) 非标准

向控制台写入一条消息。

WorkerGlobalScope.importScripts()

向当前 worker 的作用域导入一或更多条脚本。可按需导入任意数量的脚本,使用逗号分割参数。比如: importScripts('foo.js', 'bar.js');

从其他来源实现的方法

WindowBase64.atob()

解码使用 base-64 编码的字符串数据。

WindowBase64.btoa()

从字符串生成使用 base-64 编码的 ASCII 字符串。

WindowTimers.clearInterval() (en-US)

取消使用 WindowTimers.setInterval() (en-US) 创建的定时操作。

WindowTimers.clearTimeout()

取消使用 WindowTimers.setTimeout() (en-US) 创建的定时操作。

WindowTimers.setInterval() (en-US)

每隔一定时间执行一次给定函数。

WindowTimers.setTimeout() (en-US)

延迟一定时间执行给定函数。

事件

message (en-US)

Fired when the worker receives a message from its parent. Also available via the onmessage (en-US) property.

messageerror (en-US)

Fired when a worker receives a message that can't be deserialized. Also available via the onmessageerror (en-US) property.

规范

Specification
HTML Standard
# dedicated-workers-and-the-dedicatedworkerglobalscope-interface

浏览器兼容性

BCD tables only load in the browser

参见