DOM Leak

  1. Open new secret window
  2. Open DevTools
  3. Select Profile Tab
  4. Record
    1. Push The start Button
    2. Wait a minute...
  5. Stop Record
  6. Push The stop Button
var running = true;
var doms = [];
var wrapper = document.getElementById('nodes');
function createAndRemoveNodes() {
    for (var i=100, div; i > 0; i--) {
      div = document.createElement('div');
      doms.push(div);
      wrapper.appendChild(div);
    }
    while (wrapper.firstChild) {
        wrapper.removeChild(wrapper.firstChild);
    }
}

function start() {
  running = true;
  console.info("start...");
  grow();
}

function grow() {
  if(running) {
    console.info("1초 간격으로 running");
    createAndRemoveNodes();
    setTimeout(grow, 1000);
  } else {
    console.info("release");
  }
}

function stop() {
  console.info("stop...");
  running = false;

}