您的位置:首页 > 其它

web workers简介

2015-09-10 21:09 281 查看
web worker 他是运行在后台的js。他是一个独立的脚本,不影响你的js的性能。

主线程相应用户操作的。如果让主线程做很复杂的操作,oh,no.

ww底层肯定也是运用多线程的处理的~

方法:

postMessage() 向浏览器(html页面)传回消息

terminate()--终止ww,并释放浏览器/计算机资源

事件:

onmessage

//index.js
var numDiv;
var work=null;
window.onload=function(){
numDiv = document.getElementById('numDiv');
document.getElementById('start').onclick=startWork;
document.getElementById('end').onclick=function(){
if(work){
work.terminate();
work=null;
}
};

function startWork(){
if(work){
return ;
}

work = new Worker('count.js');
work.postMessage('123');
work.onmessage=function(e){
numDiv.innerHTML=e.data;
}
console.log(self)
}

}

//count.js

var countNum = 100;
console.log(self)
function count() {

// self.onmessage=function(){
self.postMessage(countNum);
countNum++;

// }

setTimeout(count,1000)
}

count()


<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id="numDiv">0</div>
<button id="start">start</button>
<button id="end">end</button>
<script type="text/javascript" src="index.js"></script>
</body>
</html>


此处有:http://blog.jobbole.com/30592/?utm_source=rss&utm_medium=rss&utm_campaign=html5-web-worker%25e7%259a%2584%25e4%25bd%25bf%25e7%2594%25a8
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: