HTML5 Web Workers

Web worker 是运行在后台的JavaScript,不会影响页面的性能。

什么是Web Worker?

当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。
web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。

创建Web Worker

在外部创建一个js文件,举例设定一个计数脚本,取名为‘worker.js’

var i=0;

function timedCount()
{
    i=i+1;
    postMessage(i);
    setTimeout("timedCount()",500);
}

timedCount();

使用postMessage()方法向HTML页面传回一段消息。
web worker 通常用于更耗费CPU资源的任务,而不是简单任务。

在HTML文档调用web worker

w = new Worker("worker.js")
//为web worker添加一个事件监听器
w.onmessage=function(event){
    document.getElementById("result").innerHTML=event.data;
};

终止 Web Worker

当我们创建 web worker 对象后,它会继续监听消息(即使在外部脚本完成之后)直到其被终止为止。

如需终止 web worker,并释放浏览器/计算机资源,请使用 terminate() 方法:

w.terminate()

注意:由于Web Worker属于外部文件,所以无法访问window对象、document对象和parent对象。

前端问题总结 文章被收录于专栏

总结一些前端常见的面试笔试题,来和大家分享鸭

全部评论

相关推荐

Noel_:中石油是这样的 哥们侥幸混进免笔试名单 一看给我吓尿了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务