<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Page Title</title>
<!-- CASE 1. 헤드 내부 선언
Default
script HTML 파싱중 해당 소스를 만나면
js파일 페칭 후 실행 한 후에 이후 BODY HTML 파싱 처리
<script src='main.js'></script> -->
<!-- CASE 2. 헤드 내부 선언
asyn
script HTML 파싱중 해당 소스를 만나면
js파일을 병렬 처리 하여 다운로드 처리하는 시간은 단축할 수 있으나
DOM 요소를 조작하는 부분이 있을 경우 인식되지 않은 태그가 존재할 수 있음.
<script asys src='main.js'></script> -->
<!-- CASE 3. 헤드 내부 선언
Defer
html 파싱시 defer 옵션을 만나면 병렬처리하여 파일 다운로드함.
이후 HTML 파싱 완료 후 js 사용.
가장 유용하게 쓰일 수 있는 옵션 -->
<script defer src='main.js'></script>
</head>
<body>
<!-- CASE 4. 바디 태그 제일 아래 부분 선언
HTML 파싱 처리 완료 후 파일 페칭 후 실행 함.
이럴 경우 만약 js파일 내부에서 서버와 통신하는 부분있을시에.
사용자에게 보여지는 시간 차이가 있을 수 있음.
<script src='main.js'></script> -->
</body>
</html>
// 1. Use strict
// added ECMAScript 5
// 정의 되지 않은 변수를 처리 하지 않는다는 의미.
'use strict';