
์ฌ์ง ์ถ์ฒ ย ย ย ย ย ย ๋์ ๊ตฌ๋งค
๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์
๋ฌธ | ์ด์ ํ๋ก์ ์ง์ | ์์ฌ์ ์ฎ๊น ์ฑ
์ ์ฝ๊ณ ์์ฑํ์์ต๋๋ค.
์ด ์ฑ ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ณธ ์๋ฆฌ์ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ๋ค์ ์์ฃผ ์ฝ๊ฒ ์๋ ค์ฃผ๋ ์ฑ ์ ๋๋ค. ์ด ์ฑ ๋๋ถ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ค๋ฅผ ์ดํดํ ์ ์๊ฒ ๋์๊ณ , ์ด๋ฅผ ์ด์ฉํ์ฌ ์น ๊ฐ๋ฐ๋ ํ ์ ์๊ฒ ๋์์ต๋๋ค. ๊ฐ๋ ฅ์ถ์ฒํฉ๋๋ค.
ECMASCRIPT๋ก ๊ท์ ๋ ๊ธฐ๋ณธ ๊ฐ์ฒด ์ธ์ ์๋ฐ์คํฌ๋ฆฝํธ ์คํ ํ๊ฒฝ์ ์ ์๋ ๊ฐ์ฒดCSS๋ก ์คํ์ผ ์ ์ด,HTML๋ฌธ์ ์ ์ด, ์น๋ธ๋ผ์ฐ์ ์ window๊ฐ์ฒด ์ ์ด๋ฅผ ํ ์ ์๋ค.Interactive) ์นํ์ด์ง๋ฅผ ๋์ (Dynamic)์ผ๋ก ๋ง๋ค ์ ์๋ค.์น๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ(ํด๋ผ์ด์ธํธ ์ธก ์๋ฐ์คํฌ๋ฆฝํธ)์ ์ ์ฒด ๋์์ ์ ๋ฆฌํ๋ค.
- ์นํ์ด์ง์
Document๊ฐ์ฒด ์ ์ด
HTML์์์css์คํ์ผ ์์DOM APIํ์ฉ- ์นํ์ด์ง์
Window๊ฐ์ฒด ์ ์ด ๋ฐ ๋ธ๋ผ์ฐ์ ์ ์ด
: ์น ๋ธ๋ผ์ฐ์ ์ ๋ด์ฅ๋ ๋ค์ํ ๊ฐ์ฒด๋ฅผ ํ์ฉ- ์น ํ์ด์ง์์ ๋ฐ์ํ๋ ์ด๋ฒคํธ ์ฒ๋ฆฌ
: ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ์ ํ์ด๋จธHTTP๋ฅผ ์ด์ฉํ ํต์ ์ ์ด
:XMLHttpRequest๊ฐ์ฒด๋ฅผ ํ์ฉํHTTPํต์
HTML๋ฌธ์๋ฅผ ๋ถ์ํ๊ณ ํ์ํ๋ ํ๋ก๊ทธ๋จHTML๋ฌธ์์ ๊ตฌ๋ฌธ์ ๋ถ์ํ๊ณ DOMํธ๋ฆฌ๋ฅผ ๊ตฌ์ถํ ํ์ HTML์์ ์ ์ฅ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์คํํ๋ค.
- ์น ๋ธ๋ผ์ฐ์ ๋ก ์น ํ์ด์ง๋ฅผ ์ด๋ฉด ๊ฐ์ฅ ๋จผ์
window๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค.
Window๊ฐ์ฒด๋ ์นํ์ด์ง์ ์ ์ญ ๊ฐ์ฒด๋ก ์น ํ์ด์ง์ ํญ๋ง๋ค ์์ฑ๋๋ค.Document๊ฐ์ฒด๊ฐWindow๊ฐ์ฒด์ ํ๋กํผํฐ๋ก ์์ฑ๋๋ฉฐ ์นํ์ด์ง๋ฅผ ํด์ํด์DOMํธ๋ฆฌ์ ๊ตฌ์ถ์ ์๋ํ๋ค.
Document๊ฐ์ฒด๋readyStateํ๋กํผํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ด ํ๋กํผํฐ์๋HTML๋ฌธ์์ ํด์ ์ํ๋ฅผ ๋ปํ๋ ๋ฌธ์์ด์ด ์ ์ฅ๋๋ค.
readyStateํ๋กํผํฐ์ ์ด๊ธฐ๊ฐ์"loading"์ด๋ผ๋ ๋ฌธ์์ด์ด๋ค.ํ๋กํผํฐ (p92) - ๊ฐ์ฒด : ์ด๋ฆ๊ณผ ๊ฐ์ ํ ์์ผ๋ก ๋ฌถ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ชจ์ ๊ฒ์ด๋ค. - ํ๋กํผํฐ : ๊ฐ์ฒด์ ํฌํจ๋ ๋ฐ์ดํฐ ํ๋, (์ด๋ฆ๊ณผ ๊ฐ์ ์)์ ๊ฐ๋ฆฌ์ผ ๊ฐ์ฒด์ ํ๋กํผํฐ๋ผ๊ณ ํ๋ค. ex. var card = { suit : "ํํธ", โ ํ๋กํผํฐ rank : "A" โ ํ๋กํผํฐ };
HTML๋ฌธ์๋HTML๊ตฌ๋ฌธ์ ์์ฑ ์์์ ๋ฐ๋ผ ๋ถ์ํ์ฌDocument๊ฐ์ฒด ์์์ ํ ์คํธ ๋ ธ๋๋ฅผ ์ถ๊ฐํด ๋๊ฐ๋ค.HTML๋ฌธ์ ์์script์์๊ฐ ์์ผ๋ฉดscript์์ ์์ ์ฝ๋ ๋๋ ์ธ๋ถ ํ์ผ์ ์ ์ฅ๋ ์ฝ๋์ ๊ตฌ๋ฌธ์ ๋ถ์ํ๋ค.
๊ทธ ๊ฒฐ๊ณผ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ผ๋ฉด ๊ทธ ์์ ์ ์ฝ๋๋ฅผ ์คํํ๋ค.
์ด ๋script์์๋ ๋๊ธฐ์ ์ผ๋ก ์คํ๋๋ค.
์ฆ,script์์์ ๊ตฌ๋ฌธ์ ๋ถ์ํด์ ์คํํ ๋๋HTML๋ฌธ์์ ๊ตฌ๋ฌธ ๋ถ์์ด ์ผ์์ ์ผ๋ก ๋งํ๊ณ , ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋์ ์คํ์ ์๋ฃํ ํ์๋ ์ผ์์ ์ผ๋ก ๋งํ ์์๋HTML๋ฌธ์์ ๊ตฌ๋ฌธ ๋ถ์์ ์ฌ๊ฐํ๋ค.๋๊ธฐ : ์์ฐจ์ ์ผ๋ก
HTML๋ฌธ์์ ๋ชจ๋ ๋ด์ฉ์ ์ฝ์ ํ์DOMํธ๋ฆฌ ๊ตฌ์ถ์ ์๋ฃํ๋ฉดdocument.readyStateํ๋กํผํฐ์ ๊ฐ์ดinteractive๋ก ๋ฐ๋๋ค.interactive : ๋ํํ, ์ํธ์์ฉ์ ํ๋
- ์น ๋ธ๋ผ์ฐ์ ๋
Document๊ฐ์ฒด์DOMํธ๋ฆฌ ๊ตฌ์ถ ์๋ฃ๋ฅผ ์๋ฆฌ๊ธฐ ์ํดDOMContentLoaded์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํจ๋ค.img๋ฑ์ ์์๊ฐ ์ด๋ฏธ์ง ํ์ผ๋ฑ์ ์ธ๋ถ ๋ฆฌ์์ค๋ฅผ ์ฝ์ด ๋ค์ฌ์ผ ํ๋ค๋ฉด ์ด ์์ ์ ์ฝ์ด ๋ค์ธ๋ค.- ๋ชจ๋ ๋ฆฌ์์ค๋ฅผ ์ฝ์ด๋ค์ธ ํ์๋
document.readyStateํ๋กํผํฐ ๊ฐ์ด"complete"๋ก ๋ฐ๋๋ค.
๋ง์ง๋ง์ผ๋ก ์น ๋ธ๋ผ์ฐ์ ๋Window๊ฐ์ฒด๋ฅผ ์๋๋กload์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํจ๋ค.- ์ด ์์ ๋ถํฐ ๋ค์ํ ์ด๋ฒคํธ(์ฌ์ฉ์์ ์ ์ด๋ฒคํธ, ๋คํธ์ํฌ ์ด๋ฒคํธ)๋ฅผ ์์ ํ๋ฉฐ, ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ๊ฐ ๋น๋๊ธฐ๋ก ํธ์ถ๋๋ค.
13.1.3๊น์ง ์์ฑํจ