>  기사  >  웹 프론트엔드  >  JavaScript의 이해와 활용

JavaScript의 이해와 활용

零下一度
零下一度원래의
2017-06-26 11:25:151053검색

(1) JavaScript란 무엇입니까?

JavaScript는 웹 페이지와 상호 작용하도록 설계된 스크립팅 언어로 다음 세 부분으로 구성됩니다. (1) 핵심 언어 기능을 제공합니다. (2) 문서 개체 모델(DOM): 웹 콘텐츠에 액세스하고 운영하기 위한 메서드 및 인터페이스를 제공합니다. (3) 브라우저 개체 모델(BOM): 브라우저와 상호 작용하기 위한 메서드 및 인터페이스를 제공합니다

(2) HTML 코드 실행

(현대 브라우저의 원리)

 
저자: Qian Duoduo
링크:
출처: Zhihu
저작권은 저작자에게 있습니다. 상업적인 재인쇄의 경우 저자에게 연락하여 승인을 받으시기 바랍니다. 비상업적 재인쇄의 경우 출처를 명시해 주시기 바랍니다.

1. html 다운로드와 실행은 동기식인가요?

결론: 상황에 따라 다릅니다.

HTML 실행에 대한 이 설명은 정확하지 않습니다. 소위 실행에는 ParseHTML, 레이아웃 및 페인트 단계가 포함됩니다. 다운로드, parseHTML/parseCSS/executeJS, 레이아웃 및 페인트는 모두 다른 프로세스에 있습니다.

parseHTML/parseCSS는 병렬로 완료되면 레이아웃이 렌더링 트리를 생성한 다음 페인트가 렌더링됩니다. JS를 실행하면 레이아웃 단계로 돌아갑니다.


A. 네트워크 속도가 충분히 빠르고 콘텐츠가 빠르게 전송되면 나중에 구문 분석+레이아웃+페인트가 실행됩니다.

B. 네트워크가 약하고 네트워크 속도가 매우 느린 경우 최신 브라우저는 수신된 콘텐츠를 미리 렌더링하려고 시도하므로 PC에서 페이지가 블록별로 표시됩니다.

C.chunk의 원리는 비슷합니다. 각 청크 중단점이 구문 분석 및 렌더링을 트리거할 수 있습니다.

D. 일부 브라우저는 다운로드 과정에서 구문 분석+레이아웃을 지속적으로 시도합니다. 레이아웃에서 콘텐츠가 첫 번째 화면을 초과한다고 계산하면 사용자가 볼 수 있도록 콘텐츠를 그립니다. 첫 번째 화면 콘텐츠가 먼저 표시됩니다.

대부분의 프로세스는 병렬이기 때문에 상대적으로 복잡합니다. 사례별로 논의하는 것은 원칙적으로 이해하는 것이 좋습니다.


2. CSS 파일의 다운로드와 렌더링이 동기식입니까? 아니면 먼저 다운로드한 다음 렌더링해야 합니까?

다운로드 과정에서 ParseCss의 어휘 분석이 동시에 수행되는지 확실하지 않지만 결국 그럴 가능성이 높습니다. , 무손실입니다.

하지만 결국에는 반드시 다운로드한 다음 레이아웃을 생성하여 렌더링 트리를 생성해야 합니다.


3. CSS 파일의 다운로드 및 실행과 html 파일의 다운로드 및 실행이 동기화됩니까?

병렬입니다. 그러나 몇 가지 제한 사항에 주의해야 합니다. 예를 들어 도메인 이름 아래의 최대 동시 요청 수는 6입니다. 더 많은 요청은 직렬화되어야 합니다.


4. 그래픽 로딩은 html 파일의 다운로드/실행과 동기화됩니까? 오디오, 비디오 및 기타 리소스는 어떻습니까?

위와 동일합니다.


5. js 파일의 다운로드 및 실행이 동기식인가요, 아니면 비동기식인가요?

다운로드는 가능하지만, html 파일은 가능하지 않나요? /사진이 나오나요? /css 파일/js 파일이 동시에 다운로드되나요?


정상입니다.

7. html/css 파일/js 파일을 동시에 실행할 수 있나요?


위 글을 읽고 나면 이해하실 겁니다: html 구문 분석과 CSS 구문 분석은 병렬이며 레이아웃은 둘 다 후에 수행됩니다. 페인트가 완료되면 새로운 CSS 마운트로 인해 레이아웃과 페인트가 지연됩니다. Node.js 구문 분석은 HTML 구문 분석을 차단하므로 후속 레이아웃과 페인트가 동시에 실행되지 않습니다.

(3) html3.1<script> 요소의 6가지 속성: </p> <p> 1. 비동기: 속성의 비동기 로딩 선택하다. 외부 스크립트에만 유효합니다. 즉, 스크립트가 즉시 다운로드되지만 페이지의 다른 작업을 방해하지 않습니다. <strong></strong> 2. charset: 문자 인코딩 속성, 선택사항. 기본값은 UTF-8 인코딩으로, 주로 src 속성을 통해 지정된 </p> <p> 코드의 문자 집합을 나타냅니다. 대부분의 브라우저는 해당 값을 무시하므로 사용할 필요가 없습니다. </p> <p> 3.defer: 스크립트 지연 속성, 선택사항. 전체 HTML 문서가 구문 분석되고 표시될 때까지 스크립트 실행 시간을 지연하는 데 사용됩니다. 외부 스크립트 파일에만 유효합니다. </p> <p> 4.언어: 표준의 일부가 아닌 스크립트 유형 속성, </p>사용되지 않음<p>. 대부분의 브라우저 </p> <p>                                                                                                                          이 속성은 무시되므로 사용할 필요가 없습니다. </p> <p> 5.src: 외부 파일 속성 링크, 선택 사항. 실행할 코드가 포함된 외부 파일을 나타냅니다. 참고하세요 </p> <p>          src 속성이 설정되면 스크립트 요소에 작성된 JavaScript 코드가 유효하지 않을 수 있습니다. </p> <p> 6. 유형: 스크립트 유형 속성, 필수. 기본값은 text/javascript이며, 이는 코드를 작성하는 데 사용되는 콘텐츠 유형(MIME 유형이라고도 함)을 나타내는 언어<span style="background-color: #ff0000;"></span>​​​​의 대체 속성으로 간주될 수 있습니다. </p> <p></p>참고: 코드 어디에도 </script>를 표시하지 마세요

3.2 라벨 위치