Почему зависает setInterval во время работы цикла?

Зависает setInterval во время работы цикла, примерно на 3 секунды останавливается время, точнее обрывается.

Как выяснилось во время работы цикла как бы зависает полностью страница, в том числе зависает весь js на странице.

Можно ли как то сделать чтобы цикл работал фоном без зависания всей страницы?

setInterval(() => {
  let date = new Date();
  $('.timer').html( date.getMinutes() +':'+ date.getSeconds() );
}, 1000);

setTimeout(function(){
  console.log('Начало цикла');
  for (let i = 0; i <= 1000000000; i++) {
    let j = i + i;
  }
  console.log('Конец цикла');
}, 3000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="timer"></div>


Ответы (0 шт):