Html5之web workers后台计算…


Html5之web <wbr>workers后台计算素数问题


index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>通过web works计算素数</title>
    <script>
      var worker=new Worker("js/sushu.js");
      //接受从worker传来的信息
      worker.onmessage=function(event){

          document.getElementByIdx_x("result").innerHTML=event.data;
      }


    function cal(){
        var value=document.getElementByIdx_x("num").value;
        //向worker传送信息
        worker.postMessage(value);

    }
    </script>
</head>
<body>
      <h2>web workers计算素数</h2>
      请截止数字:<input id="num">
      <button onclick="cal()">计算</button>
      <div id="result"></div>
</body>
</html>

sushu.js

//通过webworks来计算素数



onmessage=function(event){

    var primeCount=0;

    var value;

    value=event.data;

    for(var i=2;i<=value;i++){
        var isprime=true;
        for(var j=2;j<=Math.sqrt(i);j++){
            if(i%j==0){
                isprime=false;
                break;
            }
        }
        if(isprime){
            primeCount++;
        }
    }

    postMessage(value+"以下共有"+primeCount+"个素数");
}

你可能感兴趣的:(Html5之web workers后台计算…)