์ƒˆ์†Œ์‹

Languages/Java Script

[Js] Browser Object Model | BOM | ์ „์—ญ๊ฐ์ฒด Window

  • -
๋ฐ˜์‘ํ˜•

๋ชจ๋“  ํฌ์ŠคํŒ…์€ ์ธํ”„๋Ÿฐ [์ƒํ™œ์ฝ”๋”ฉ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ•์˜์˜ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์œผ๋ฉฐ

์ถœ์ฒ˜๋Š” ์•„๋ž˜์˜ ์ฃผ์†Œ๋กœ "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#

 

์›น๋ธŒ๋ผ์šฐ์ € Javascript (์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ) - ์ธํ”„๋Ÿฐ

์ƒํ™œ์ฝ”๋”ฉ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ•์ขŒ ์ž…๋‹ˆ๋‹ค. ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๊ณต๋ถ€ํ•ด ๋ด…๋‹ˆ๋‹ค. ์ดˆ๊ธ‰ ์›น ๊ฐœ๋ฐœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด JavaScript ์˜จ๋ผ์ธ ๊ฐ•์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ•์ขŒ

www.inflearn.com

BOM์— ๋Œ€ํ•œ ์ˆ˜์—…์€ Window ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ์˜ ์‚ฌ์šฉ๋ฒ•์„ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•ด๋„ ๊ณผ์–ธ์ด ์•„๋‹ ๊ฒƒ์ด๋‹ค.

๋ณธ ํ† ํ”ฝ์˜ ํ•˜์œ„ ์ˆ˜์—…์—์„œ๋Š” Window ๊ฐ์ฒด์˜ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค.

 


BOM

BOM(Browser Object Model)์ด๋ž€ ์›น๋ธŒ๋ผ์šฐ์ €์˜ ์ฐฝ์ด๋‚˜ ํ”„๋ž˜์ž„์„ ์ถ”์ƒํ™”ํ•ด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•˜๋Š” ์ˆ˜๋‹จ์ด๋‹ค. BOM์€ ์ „์—ญ๊ฐ์ฒด์ธ Window์˜ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ๋“ค์„ ํ†ตํ•ด์„œ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ฆ‰ ์‰ฝ๊ฒŒ ๋งํ•˜์ž๋ฉด, ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฐ์ฒด๋“ค์„ ๋งํ•œ๋‹ค.

 

 

์ „์—ญ๊ฐ์ฒด Window

์ฝ˜์†”์—์„œ window๋ฅผ ์ž…๋ ฅ ์‹œ ์œˆ๋„์šฐ ๊ฐ์ฒด์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค๋ฅธ ๋ชจ๋“  ๊ฐ์ฒด๋“ค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ window. ?? ์œผ๋กœ ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒƒ์€ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ window๊ฐ์ฒด ์•ˆ์— ์†Œ์†๋˜์–ด ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

์ „์—ญ ๋ณ€์ˆ˜, ์ „์—ญ ํ•จ์ˆ˜ ๋“ฑ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค window์˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ตญ ์ „์ฒด์ ์œผ๋กœ ์ „์—ญ ๊ฐ์ฒด๋Š”! Window ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์‚ฌ์šฉ์ž์™€ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ 

HTML์€ form์„ ํ†ตํ•ด์„œ ์‚ฌ์šฉ์ž์™€ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋Š” ์‚ฌ์šฉ์ž์™€ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ„ํŽธํ•œ ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•œ๋‹ค.(alert, confirm, prompt)

 

๊ฒฝ๊ณ ์ฐฝ(alert)

alert("ok");์™€ ๊ฐ™์ด ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์›Œ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ํ™•์ธ์„ ๋ˆŒ๋Ÿฌ์•ผ ๋‹ค์Œ ๊ฒฝ๊ณ ์ฐฝ์„ ์‹คํ–‰ ์‹œํ‚ฌ ์ˆ˜๊ฐ€ ์žˆ์–ด์„œ ์กฐ๊ธˆ ๋ถˆํŽธํ•œ ์ ์ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์š”์ฆ˜์€ conole.log์™€ ๊ฐ™์ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ œ๊ณตํ•˜๋Š” ์ฝ˜์†”์ฐฝ์„ ์ด์šฉํ•œ๋‹ค.

 

ํ™•์ธ์ฐฝ(confirm)

confirm("ok?")์™€ ๊ฐ™์ด ํ™•์ธ์ฐฝ์„ ๋„์›Œ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ํ™•์ธ๊ณผ ์ทจ์†Œ๊ฐ€ ์žˆ์–ด์„œ ํ™•์ธ์„ ๋ˆ„๋ฅผ ์‹œ true๊ฐ€ ๋‚˜์˜ค๊ณ , ์ทจ์†Œ๋ฅผ ๋ˆ„๋ฅด๋ฉด false๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž์˜ ์˜์‚ฌํ‘œ์‹œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋กœ ์ด๋ฅผ ํ™•์ธ์‹œ์ผœ์ค„ ์ˆ˜ ์žˆ๋‹ค.

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<input type ="button" value="confirm" onclick="func_confirm()" />
	<script>
	    function func_confirm(){
	        if(confirm('ok?')){
	            alert('ok');
	        }else {
	            alert('cancel');
	        }
	    }
	</script>

</body>
</html>

ํ™•์ธ์„ ๋ˆ„๋ฅผ์‹œ ok๊ฐ€ ์ถœ๋ ฅ๋˜๊ณ , ์ทจ์†Œ๋ฅผ ๋ˆ„๋ฅด๋ฉด cancel์ด ์ถœ๋ ฅ๋œ๋‹ค.

 

 

์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์„ ๋ฐ›์•„ ์–ป์–ด๋‚ด๋Š” ๊ธฐ๋Šฅ(prompt)

prompt('id?'); ๋ผ๊ณ  ์ฝ˜์†”์— ์ž…๋ ฅ์„ ํ•˜๋ฉด, ์‚ฌ์šฉ์ž์—๊ฒŒ ์–ด๋– ํ•œ ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์•„ ๋™์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค. ์˜ˆ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<input type ="button" value="check" onclick="func_confirm()" />
	<script>
	    function func_confirm(){
	        if(prompt('id?') === 'haeun'){
	            alert('welcome~~');
	        }else {
	            alert('fail');
	        }
	    }
	</script>

</body>
</html>

 

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.