[JST] Pi calculated using WebWorker

HTML

<button id=startButton>Start calculation</button>
<div id=output>
</div>

JavaScript

// Some magic to run function as WebWorker
var workerBlob = new Blob(["(" + worker.toString() + ")()"], { type: 'text/javascript' }),
    workerInstance;

startButton.onclick = function() {
  if (workerInstance) {
    workerInstance.terminate();
  }

  output.innerHTML = "";
  workerInstance = new Worker(URL.createObjectURL(workerBlob));
  workerInstance.onmessage = function(e) {
    output.innerHTML += "<div>" + e.data + '</div>';
  };
  workerInstance.postMessage(null);
};

function worker() {
  onmessage = function(e) {
    var pi = 0,
    	  n = 1;
    for (var n = 1;; n+=4) {
      pi = pi + (4 / n) - (4 / (n + 2));

      if ((n -1) % 200000000 == 0) {
        postMessage(pi);
      }
    }
  };
}