๋ชจ๋ ํฌ์คํ
์ ์ธํ๋ฐ [์ํ์ฝ๋ฉ] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์์ ๋ด์ฉ์ ๋ด๊ณ ์์ผ๋ฉฐ
์ถ์ฒ๋ ์๋์ ์ฃผ์๋ก "egoing Lee"๋์ ์๋ฃ์
๋๋ค.
์์
์ ์ธ ์๋๊ฐ ์๋ ๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํด๋๋ ๋ชฉ์ ์ผ๋ก ํฌ์คํ
ํ ๊ฒ์
๋๋ค.
www.inflearn.com/course/javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EA%B0%95%EC%A2%8C#
์ ๊ฐ์ ์ค ๊ธฐ์ด์ ์ธ ๋ด์ฉ์ด๋, ํ์ ์ง์ ๋ฑ์ ๋ด์ฉ์ ๋ฐ๋ก ํฌ์คํ
ํ์ง ์๊ฒ ์ต๋๋ค. (html, css, ์ค์ต ํ๊ฒฝ ๋ฑ..)
์น ๋ธ๋ผ์ฐ์ ๋ฅผ ๋์์ํค๊ธฐ ์ํด์๋ html, css, javascript๊ฐ ํ์ํ๋ค. ์ด๋ ๊ฐ๊ฐ ์ ๋ณด, ๋์์ธ, ์ ์ด ๋ฅผ ๋ด๋นํ๊ณ ์๋ค.
HTML์์ JavaScript ๋ก๋ํ๊ธฐ
JavaScript๋ก ์นํ์ด์ง๋ฅผ ์ ์ดํ๊ธฐ ์ํด์๋ JavaScript๋ฅผ ๋ก๋ํด์ผ ํ๋ค.
๋ฐฉ์์ inline๋ฐฉ์๊ณผ, script๋ฐฉ์ ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก ์ธ๋ถ ํ์ผ๋ก ๋ถ๋ฆฌํ๋ ๋ฐฉ์์ด ์๋ค.
inline๋ฐฉ์์ ์ง์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊ธฐ์ ํ๋ ๋ฐฉ์์ด๋ค.
<inuput type = "button" onclick="alert('haeun hello~');" value="click" />
์์ ๊ฐ์ด html ์ฝ๋์ ์ด๋ฒคํธ๋ฅผ ์ฝ์
ํ๋ ๋ฐฉ์์ด๋ค.
์ฅ์ ์ ํ๊ทธ์ ์ฐ๊ด๋ ์คํฌ๋ฆฝํธ๊ฐ ๋ถ๋ช
ํ๊ฒ ๋๋ฌ๋๋ค๋ ๊ฒ์ด๋ค.
ํ์ง๋ง ์ ๋ณด์ ์ ์ด๊ฐ ์์ฌ์๊ธฐ ๋๋ฌธ์ ์ ๋ณด๋ก์์ ๊ฐ์น๊ฐ ๋จ์ด์ง๊ฒ ๋๋ค.
๋ค์ ๋ฐฉ์์ผ๋ก scriptํ๊ทธ๋ฅผ ๋ฐ๋ก ๋นผ์ ์จ์ฃผ๋ ๋ฐฉ์์ด ์๋ค.
<input type= "button" id="btn" value="click" />
<script>
var btn = document.getElemnetById('btn');
btn.addEvevntListener('click',function(){
alert('hello haeun');
})
</script>
์ ๋ฐฉ์์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐ๋ก ์ ์ํด์ฃผ๋ ๊ฒ์ผ๋ก,
<script>๋ html๋ฌธ๋ฒ์ด์ง๋ง ์ด๋ฅผ ์ฝ๊ฒ๋๋ฉด ์๋์์๋ถํฐ javascript๋ฌธ๋ฒ์ผ๋ก ์ฝ๊ฒ ๋๋ ๊ฒ์ด๋ค.
์ด๋ฌํ ๋ฐฉ๋ฒ์ ์์ ๋ฐฉ๋ฒ๋ณด๋ค ์ ๋ณด๋ก์์ ๊ฐ์น๋ ๋์์ง ์ ์์ง๋ง,
์ฌ๋ฌ ์ฝ๋์์ ํจ๊ป ์ฌ์ฉํด์ผ ํ๋ ๋ด์ฉ์ ๊ฒฝ์ฐ ๋ฐ๋ก ๋นผ๋๋ ๊ฒ์ด ์ฝ๋์ ํจ์จ์ฑ๋ ๋์์ง๊ณ ์ฌ์ฌ์ฉ์ฑ์ด ๋์์ง๊ธฐ ๋๋ฌธ์ ์ธ๋ถ ํ์ผ๋ก ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ์๊ฒจ๋๊ฒ ๋์๋ค.
์ธ๋ถ ํ์ผ๋ก ๋ถ๋ฆฌํ๋ ๊ฒ์ ์ด์ ์ ๊ฐ์ข๋ค์์๋ ๋ค๋ฃฌ ๋ด์ฉ์ผ๋ก, ๊ฐ์ ์์น์์ ๋ฐ๋ก ๋บ js ์ฝ๋๋ง ๋นผ์, ์ ์ฅ ํ๊ณ
์ด๋ฅผ <script src="./haeun.js"> </script> ์ ๊ฐ์ด ์ ์ํ์ฌ ๋ถ๋ฌ์์ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ์์น์ ๋ฐ๋ผ ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋๋ฐ, ๊ทธ ์์๋ ์๋์ ๊ฐ๋ค.
<!DOCTYPE html>
<html>
<head>
<script src="haeun.js"></script> //์ธ๋ถ์ ์คํฌ๋ฆฝํธ ์ ์
</head>
<body>
<input type= "button" id="btn" value="click" />
<script>//๋น๊ต๋ฅผ ์ํด ์ด ํ์ผ ๋ด์์ ์ ์ ํจ
var btn = document.getElementById('btn');
btn.addEventListener('click',function(){
alert('์์ค ์ ๋๋ก ์ฝ์');
})
</script>
</script>
</body>
</html>
๋จผ์ main.html ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด head์ ์๋ script๋ haeun.js๋ผ๋ ํ์ผ์ ์ฝ์ด์จ๋ค.
haeun.js์ฝ๋์ ๋ด์ฉ์ ์๋์ ๊ฐ๋ค.
var btn = document.getElementById('btn');
btn.addEventListener('click',function(){
alert('์์ค ์ฝ๊ธฐ ์ ์!!');
})
์ฝ๋๋ฅผ ๋์์์ผฐ์ ๋ ์์๋๋ ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ๋ค.
์์ค ์ฝ๊ธฐ ์ ์!!
์์ค ์ ๋๋ก ์ฝ์
ํ์ง๋ง, ์น ๋ธ๋ผ์ฐ์ ์์๋ ์๋ฌ๊ฐ ๋จ๊ณ , ๋ฒํผ์ ํด๋ฆญ ์ ์์ค ์ ๋๋ก ์ฝ์ ์ด๋ผ๋ ๊ฒฝ๊ณ ์ฐฝ๋ง ์ถ๋ ฅ๋๋ค.
์ด์ ๋ ๋ฐ๋ก, ํค๋์ ์๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ๋น์์๋ ์๋์ ์ ์๋ Element๋ฅผ ์ฐพ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ์กด์ฌํ์ง ์๋ ๊ฐ์ฒด์ ๋ฉ์๋๋ฅผ ํธ์ถํ๊ฒ ๋์ด ์๋ฌ๊ฐ ๋๊ฒ ๋ ๊ฒ์ด๋ค.
์ด๋ฌํ ์๋ฌ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด, window.onload = function()์ด๋ผ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ฃผ์ด์ผ ํ๋ค.
์๋ ์ถ๊ฐ๋ ์ฝ๋๋ฅผ ์ดํด๋ณด์. haeun.js์ ์ฝ๋์ด๋ค.
window.onload = function(){
var btn = document.getElementById('btn');
btn.addEventListener('click',function(){
alert('์์ค ์ฝ๊ธฐ ์ ์!!');
})
}
์ด๋ ์์ ๊ฒฐ๊ณผ๋ ์๋์ผ ๊ฒ์ด๋ผ ์๊ฐํ๋ค.
์์ค ์ฝ๊ธฐ ์ ์!!
์์ค ์ ๋๋ก ์ฝ์
ํ์ง๋ง, ์ค์ ์คํ ๊ฒฐ๊ณผ๋ ๋ฐ๋๋ก ๋์ํ๋ค. ์ ๊ทธ๋ด๊น?
์์ค ์ ๋๋ก ์ฝ์
์์ค ์ฝ๊ธฐ ์ ์!!
๊ทธ ์ด์ ๋ window.onload = function์ด๋ผ๊ณ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด, ์๋์ฐ๋ผ๋ ๊ฐ์ฒด์ onload๋ผ๋ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๊ฒ์ธ๋ฐ
์ด ๋ฉ์๋๋ ์น ๋ธ๋ผ์ฐ์ ์ ๋ชจ๋ ๋์์ด ๋๋ ํ ์คํ์ํจ๋ค.
์ฆ ํ๋ฒ ์ญ~ ์ฝ๊ณ ์ดํ์ ๋์ํ๊ฒ ๋๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์คํฌ๋ฆฝํธ ํ๊ทธ๋ฅผ <body>ํ๊ทธ ๋งจ ๋์ ์์น ์ํค๋ ๊ฒ์ด ์กฐ๊ธ ๋ ํจ์จ์ ์ผ๋ก ๋์ ํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
๋ง์ฝ ๋ ์ฝ๋๋ฅผ ๋งจ ์๋์ ํจ๊ป ์์น ์์ผฐ๋ค๋ฉด, ๊ตณ์ด window.onload ๋ฉ์๋๋ฅผ ์น ๋ธ๋ผ์ฐ์ ๋์์ด ๋๋ ํ ๋ค์ ์คํ ์ํฌ ํ์๊ฐ ์์ด์ง๊ธฐ ๋๋ฌธ์ด๋ค.