Worker() 构造函数创建一个 Worker 对象,该对象执行指定的URL脚本。这个脚本必须遵守 同源策略 。
如果 此URL有一个无效的语句,或者违反同源策略,则会抛出一个 SECURITY_ERR 类型的DOMException 。
Note: 浏览器厂商对于 data URI 是否同源存在分歧。尽管 Gecko 10.0 (Firefox 10.0 / Thunderbird 10.0 / SeaMonkey 2.7) 和之后的版本接受 data URIs,但在所有其他浏览器中并非如此。
语法
const myWorker = new Worker("aURL");
参数
- 如果文档不允许启动worker,则会引发SecurityError
- 如果脚本之一的MIME类型为 text/csv,image/*,video/*,或audio/*, 则会引发NetworkError。它应该始终是 text/javacript。
- 如果aURL无法解析,则引发SyntaxError。
- aURL
- 是一个DOMString表示worker 将执行的脚本的URL。它必须遵守同源策略。
- 
 返回值创建的 worker。 例外
例子
下面的代码片段展示了通过 Worker() 创建 Worker 对象的过程, 以及随后的使用方法:
let myWorker = new Worker("worker.js");
first.onchange = function() {
  myWorker.postMessage([first.value,second.value]);
  console.log('Message posted to worker');
}
完整的例子请看 Basic dedicated worker example (run dedicated worker).
规范
| Specification | Status | Comment | 
|---|---|---|
| WHATWG HTML Living Standard Worker() | Living Standard | No change from Web Workers. | 
| Web Workers Worker() | Editor's Draft | Initial definition. | 
浏览器兼容性
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) | 
|---|---|---|---|---|---|
| Basic support | 4 | 3.5 | 10.0 | 10.6 | 4 | 
| Feature | Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile | 
|---|---|---|---|---|---|---|
| Basic support | 4.4 | 3.5 | 1.0.1 | 10.0 | 11.5 | 5.1 |