前端学习(八十八) DOM-Web Worker(Dom)

版权声明: https://blog.csdn.net/zy21131437/article/details/82348758

Web Worker是H5中一个重量级的功能,但是,因为其常驻内存,会影响性能,不推荐大量使用,虽然不推荐使用,但是不能掩盖其强大的功能

web worker可以在独立的线程中运行,这样可以在worker中执行一些耗时操作,而不会阻塞应用的主线程

局限性

  • web worker中无法操作dom元素
  • 某些window对象中的方法和属性无法使用

另外,注意:主线程和worker线程之间的数据交互,传递的是数据的副本,而不是共享数据

web worker分为:

  • Dedicated worker:专用worker,只能被首次生成的脚本使用
  • shared worker:共享woker,可以被多个脚本使用
  • service worker:服务worker
  • chrome worker:在firewoker中使用
  • auduo worker:专业音频worker

web worker语法

虽然分为多个worker,但是语法是一样的

var myWorker = new Worker(aURL,option)

aURL:执行脚本的地址,需要符合同源策略

options:可选,包含一些属性,用来设置要创建的worker

扫描二维码关注公众号,回复: 4676856 查看本文章

 type:woker类型,值为classic或module,默认为classic

credentials:worker的认证类型,值为omit,same-orgin,include,如果没有指定,默认为omit

name:worker的名称

目前规范中有这几个属性,但是浏览器基本都没有支持

worker的属性和方法

属性 说明
onerror 发生错误时触发
onmessage 收到消息时触发
onmessageerror 收到的消息无法反序列化时触发
方法 说明
postMessage() 发送消息给worker线程
terminate() 立即终止woker

SharedWorker

SharedWorker可以被多个脚本使用,即使这些脚本正在被不同的window,iframe或者worker访问

猜你喜欢

转载自blog.csdn.net/zy21131437/article/details/82348758
DOM