6

제 질문은 JS 엔진이 비동기 이벤트 패턴을 구현하는 방법과 관련이 있습니다.이를 위해 DOM에서 바인드 이벤트 핸들러를 사용하면 클릭 이벤트가 발생합니다.자바 스크립트 내부 : 이벤트는 어떻게 구현됩니까?

모든 클릭 이벤트를 수신하는 별도의 스레드와 같은 것이 있습니까? 이벤트가 발생하면 바인드 목록을 참조하고 이벤트를 버블 링합니까?

비동기 네트워크 호출 인 Ajax와 마찬가지로 브라우저가 서버의 데이터 수신을 시작하는 새 스레드에 걸쳐 있고 응답을 받으면 성공 핸들러를 호출합니다.

답변

7

자바 스크립트 이벤트 대기열에 대해 this post을 읽고 대부분의 질문에 대답하는지 확인하십시오. 실제 OS 이벤트 (마우스 이벤트, 키보드 이벤트, 타이머 이벤트, 네트워크 I/O 이벤트 등)와의 인터페이싱을 처리하는 네이티브 OS 스레드가 있으며 JS 엔진에서 JS 대기열로 보내집니다 Javascript 코드로 보내십시오. OS 레벨에 몇 개의 개별 스레드가 있는지는 구현에 따라 다르며 구현에 따라 다를 수 있습니다.

+0

매우 도움이됩니다. 감사 – sbr

관련 문제