webworker的作用

一、什么是 页面阻塞?怎么解决?

页面阻塞:

大多数浏览器是使用单线程处理 UI更新 和 JavaScript 运行等多个任务的,而单线程就意味着同一时间只能由一个任务被执行;JavaScript 加载、解析和运行完,浏览器才能去响应处理其它事情。(不论JavaScript是在内联还是外部引入都一样)

解决方法:

(1)为了让html文档在解析时,尽量地快,常规的做法是将

async模式 

  当解析器遇到设置defer或者async属性的

demo_workers.js代码:

function timedCount () {

  for (var i = 0; i < 10000000000; i++) {

    if (i % 100000 === 0) {

      postMessage(i);

    }

  }

}

timedCount();

注意: web worker 脚本位于外部JS文件中,所以无法访问下列HTML相关的JS 对象。

window 对象

document 对象

parent 对象

sessionStorage、localStorage等

只要是HTML的对象都不能访问 比如不能在web worker中使用H5的sessionStorage等。如果使用则报错 sessionStorage is not define 没有定义

你可能感兴趣的:(webworker的作用)