Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

HTML5 웹 작업자가 유용한 이유는 무엇입니까?


JavaScript는 단일 스레드 환경에서 실행되도록 설계되었습니다. 즉, 여러 스크립트를 동시에 실행할 수 없습니다. UI 이벤트를 처리하고, 대량의 API 데이터를 쿼리 및 처리하고, DOM을 조작해야 하는 상황을 생각해 보세요.

JavaScript는 CPU 사용률이 높은 상황에서 브라우저를 중단합니다. Javascript가 큰 루프를 거치는 간단한 예를 들어 보겠습니다.

<!DOCTYPE HTML>
<html>
   <head>
      <title>Big for loop</title>
      <script>
         function bigLoop(){
            for (var i = 0; i <= 10000; i += 1){
               var j = i;
            }
            alert("Completed " + j + "iterations" );
         }
         function sayHello(){
            alert("Hello sir...." );
         }
      </script>
   </head>
   <body>
      <input type = "button" onclick = "bigLoop();" value = "Big Loop" />
      <input type = "button" onclick = "sayHello();" value = "Say Hello" />
   </body>
</html>

"큰 루프" 버튼을 클릭하면 다음이 표시됩니다.

HTML5 웹 작업자가 유용한 이유는 무엇입니까?

위에 설명된 상황은 사용자 인터페이스를 중단하지 않고 계산 비용이 많이 드는 모든 작업을 수행하고 일반적으로 별도의 스레드에서 실행되는 웹 작업자를 사용하여 처리할 수 있습니다.