js 코드< /script>" 구문을 사용합니다."/> js 코드< /script>" 구문을 사용합니다.">

 >  기사  >  웹 프론트엔드  >  자바스크립트에서 연기란 무엇인가요?

자바스크립트에서 연기란 무엇인가요?

醉折花枝作酒筹
醉折花枝作酒筹원래의
2021-07-21 14:47:593174검색

defer는 스크립트 세그먼트에 즉시 실행할 필요가 없는 코드가 포함되어 있으며 SRC 속성과 함께 사용된다는 사실을 브라우저에 알려줍니다. 또한 이러한 스크립트는 백그라운드에서 다운로드되고 콘텐츠는 포그라운드에서 다운로드될 수도 있습니다. 일반적으로 "b6abb9f95e1e7d03e71e2a9f71e7c034 js code2cacc6d41bbb37262a98f745aa00fbf0" 구문이 사용자에게 표시됩니다.

자바스크립트에서 연기란 무엇인가요?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

많은 사람들이 이미 Javascript를 능숙하게 사용하고 있지만, 실제로 보면 defer가 무엇인지 알지 못할 수도 있으며, 이러한 문제에 직면하여 DOM 객체를 조작하지 않는 js를 직접 실행해야 하는 경우도 있습니다. 객체를 찾을 수 없다는 오류입니다. 모두가 알고 있듯이, 그 이유는 아직 페이지가 로드되지 않았고, js 작업 객체가 여전히 다운로드 중이기 때문입니다. 그러나 많은 사람들은 defer 태그를 추가하면 이 문제를 쉽게 해결할 수 있다는 사실을 모릅니다.

<script src="../CGI-bin/delscript.js" defer></script>

에서 defer의 기능은 문서가 로드된 후에 스크립트를 실행하여 개체를 찾지 못하는 문제를 방지하는 것입니다---약간의 문제

<button id="myButton" onclick="alert(&#39;ok&#39;)">test</button>
<script>
myButton.click();
</script>

<script>
myButton.click();
</script>
<button id="myButton" onclick="alert(&#39;ok&#39;)">test</button>

<script defer>
function document.body.onload() {
alert(document.body.offsetHeight);
}
</script>

에 defer를 추가하면 문서가 로드된 후에 실행된다는 의미입니다. 페이지가 완전히 로드되었습니다. 이는 window.onload와 동일하지만 애플리케이션의 window.onload보다 더 유연합니다!

defer는 스크립팅 프로그램의 힘을 지닌 "숨겨진 영웅"입니다. 이는 스크립트 세그먼트에 즉시 실행될 필요가 없는 코드가 포함되어 있음을 브라우저에 알리고, SRC 속성과 함께 사용하면 이러한 스크립트가 백그라운드에서 다운로드되어 전경의 콘텐츠가 표시될 수도 있습니다. 정상적으로 사용자에게

--그러나 문서가 로드된 후 스크립트를 실행하기 전에 다음 두 가지 사항에 주의하십시오.

1. document.write가 직접 생성하므로 지연 유형 스크립트 세그먼트에서 document.write 명령을 호출하지 마십시오. 출력 효과.

2. 또한 즉시 실행 스크립트에서 사용하는 전역 변수나 함수를 연기 스크립트 세그먼트에 포함하지 마세요.

성능을 최적화하는 일반적인 방법은 스크립트를 즉시 실행할 필요가 없을 때 03c6714b8e3ee3238fc596020c4901e1 태그에 "defer" 속성을 설정하는 것입니다. (직접 스크립트는 함수 블록에 포함되어 있지 않으므로 로딩 과정 중에 실행됩니다.) "defer" 속성을 설정하면 IE는 스크립트가 로드되고 실행될 때까지 기다릴 필요가 없습니다. 이렇게 하면 페이지가 더 빨리 로드됩니다. 일반적으로 이는 직접 스크립트가 함수 블록에 가장 잘 배치되고 문서 또는 본문 개체의 onload 핸들러에서 함수를 처리한다는 의미이기도 합니다. 이 속성은 버튼 클릭, 특정 영역으로 마우스 이동 등 사용자 작업에 의존하는 스크립트가 있는 경우 유용합니다. 그러나 페이지가 로드되는 동안이나 이후에 실행해야 하는 일부 스크립트가 있는 경우 defer 속성을 사용하는 이점은 크지 않습니다.

스크립트의 defer 속성은 기본적으로 false입니다. DHTML 프로그래밍 가이드의 설명에 따르면 Defer 속성은 다음과 같이 작성됩니다.

디자인 타임에 속성을 사용하면 브라우저가 스크립트를 구문 분석하고 실행할 필요가 없으며 계속 다운로드할 수 있으므로 페이지의 다운로드 성능이 향상될 수 있습니다. 대신 페이지를 구문 분석합니다.

즉, 스크립트를 작성할 때 defer 속성을 추가하면 브라우저는 스크립트를 다운로드할 때 즉시 이를 처리할 필요가 없지만 계속해서 페이지를 다운로드하고 구문 분석하게 됩니다. 다운로드.

이러한 상황이 많습니다. 예를 들어, JavaScript 변수를 많이 정의하거나 참조 파일(.inc)에 처리해야 하는 스크립트를 많이 작성하는 경우 이러한 스크립트에 defer 속성을 추가하면 성능 향상에 확실히 도움이 됩니다. .

예:

<script language="javascript" defer>
var object = new Object();
....
</script>

defer 속성이 기본적으로 false이므로 여기서 defer 속성을 명시적으로 선언하는 것은

<script language="javascript" defer>

<script language="javascript" defer=true>

와 동일합니다. defer 속성을 선언한 후에는 다른 변수가 defer를 참조하는지 확인해야 합니다. 스크립트 블록의 변수. 그렇지 않으면 스크립트 오류가 발생합니다.

【추천 학습:

javascript 고급 튜토리얼

위 내용은 자바스크립트에서 연기란 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.