2013-02-25 4 views
2

페이지에 여러 개의 javascript 파일이있는 경우 항상 브라우저에서 연속적으로로드됩니까? 테스트 *의의 .js가 CONSOLE.LOG를 사용하여 1, 2, 3을 작성하는 경우자바 스크립트가 모든 브라우저에서 순차적으로로드됩니까?

<script src='test1.js'></script> 
<script src='test2.js'></script> 
<script src='test3.js'></script> 

예를 들어, 항상 모든 브라우저에 1,2,3를 작성합니다?

그렇지 않은 경우 동기식/순차적으로 만들 수있는 방법이 있습니까?

+1

나는 당신을 어떤 근원으로도 가리킬 수는 없지만, 그렇다고 믿습니다. 그러나 순차적으로로드되지 않으면 test2.js가 test1.js에 의존하는 코드를 가지고 있기 때문에 어떤 결과가 발생할지 모르기 때문에 이치에 맞지 않습니다. 순서대로로드되지 않으면 오류가 발생합니다. – kennypu

+1

http://headjs.com/ –

+1

가능한 복제본 [HTML 구문 분석 명령/스크립트 실행 순서] (http://stackoverflow.com/questions/7052310/html-parse-order-script-execution)을 볼 수 있습니다. -order) – JJJ

답변

1

예를 들어 테스트 * .js가 console.log를 사용하여 1,2,3을 쓰는 경우 항상 모든 브라우저에 1,2,3을 쓰겠습니까?

예.

브라우저는 스크립트를 병렬로로드 할 수 있지만 항상 순서대로 실행합니다. 예외는 async 또는 defer 속성이 script 태그에 설정된 경우입니다. 동적으로 생성 된 스크립트 (JS를 통해) 또한 본질적으로 비동기입니다.

너무 많은 스크립트를 페이지에 배치하면 렌더링 속도가 느려질 수 있습니다. 스크립트가로드되어 실행될 때까지 script 아래의 마크 업이 렌더링되기 때문에 서버가 파일 중 하나를 제공하는 데 너무 오래 걸리는 경우 프로덕션 환경을 위해 모든 JS 파일을 단일 파일로 축소하고 정당한 이유로 (예 : CDN 호스팅 라이브러리 사용) 더 많은 스크립트 태그를 사용하는 것이 좋습니다.