For Beginners

[JavaScript] JavaScript ์ •๋ฆฌ - 3 (๋ธŒ๋ผ์šฐ์ €, ์œˆ๋„์šฐ ๊ฐ์ฒด) ๋ณธ๋ฌธ

2021๋…„ ์ž๋ฃŒ/WEB

[JavaScript] JavaScript ์ •๋ฆฌ - 3 (๋ธŒ๋ผ์šฐ์ €, ์œˆ๋„์šฐ ๊ฐ์ฒด)

.log 2021. 3. 4. 14:58
728x90

๐Ÿ‘‰ Window ๊ฐ์ฒด

     ์œˆ๋„์šฐ ๊ฐ์ฒด๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž‘๋™ํ•˜๋Š” JavaScript์˜ ์ตœ์ƒ์œ„ ์ „์—ญ๊ฐ์ฒด.

     BOM(Browser Object Model)์œผ๋กœ ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•จ.

     ์š”์ƒˆ๋Š” alert()๋‚˜ prompt() ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋ชจ๋‹ฌ์ฐฝ, ๋‹ค์ด์–ผ๋กœ๊ทธ ๋“ฑ์œผ๋กœ ๋Œ€์ฒด๋˜๋Š” ์ถ”์„ธ์ด๋‹ค.

window ๊ฐ์ฒด (๋ธŒ๋ผ์šฐ์ €์˜ ์ฐฝ์„ open)
alert() ๋ธŒ๋ผ์šฐ์ €์˜ ์•Œ๋ฆผ ์ฐฝ
confirm() ๋ธŒ๋ผ์šฐ์ €์˜ ํ™•์ธ/์ทจ์†Œ ์„ ํƒ ์ฐฝ
prompt() ๋ธŒ๋ผ์šฐ์ €์˜ ์ž…๋ ฅ ์ฐฝ
window ๊ฐ์ฒด (navigator)
๋ธŒ๋ผ์šฐ์ €์˜ ์ •๋ณด๊ฐ€ ๋‚ด์žฅ๋œ ๊ฐ์ฒด
์„œ๋กœ ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.
window ๊ฐ์ฒด (ํŽ˜์ด์ง€์˜ ์ฃผ์†Œ, ์ด๋ ฅ)
location.href ํ˜„์žฌ url ์กฐํšŒ ๋˜๋Š” ํ• ๋‹น๋œ url๋กœ ์ด๋™
location.reload() ํ˜„์žฌ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจ.
๋””๋น„์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€์„œ
ํ™”๋ฉด์„ ์—…๋ฐ์ดํŠธ ์‹œ์— ์‚ฌ์šฉ.
history.back() ๋ธŒ๋ผ์šฐ์ €์˜ ๋’ค๋กœ๊ฐ€๊ธฐ
history.forward() ๋ธŒ๋ผ์šฐ์ €์˜ ์•ž์œผ๋กœ ๊ฐ€๊ธฐ

 

๐Ÿ‘‰ ์ƒˆ ์ฐฝ ์—ด๊ธฐ

     window.open('ํŽ˜์ด์ง€ url', '์ฐฝ์ด๋ฆ„', 'ํŠน์„ฑ', ํžˆ์Šคํ† ๋ฆฌ ๋Œ€์ฒด์—ฌ๋ถ€);

  • ์ฐฝ ์ด๋ฆ„(string): openํ•  ๋Œ€์ƒ ์ง€์ • ํ˜น์€ ์ฐฝ์˜ ์ด๋ฆ„
  • ํŠน์„ฑ(string): ์ƒˆ๋กœ ์—ด๋ฆด ์ฐฝ์˜ ๋„ˆ๋น„, ๋†’์ด ๋“ฑ์˜ ํŠน์„ฑ ์ง€์ •
  • ํžˆ์Šคํ† ๋ฆฌ ๋Œ€์ฒด ์—ฌ๋ถ€(boolean): ํ˜„์žฌ ํŽ˜์ด์ง€ ํžˆ์Šคํ† ๋ฆฌ์— ๋ฎ์–ด ์“ธ์ง€ ์—ฌ๋ถ€
  • ์ƒˆ ์ฐฝ์„ ์—ฐ ๋†ˆ: opener / ์ƒˆ ์ฐฝ : self

๋ธŒ๋ผ์šฐ์ €๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค์Œ์— ๊ฐ™์€ ์ฃผ์†Œ๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ์— ์˜ˆ์ „ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ๊ณ  ๋‹ค์‹œ ์—ด๊ฑฐ๋‚˜, ๋ชจ๋“  ์ฐฝ์„ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ฑฐ๋‚˜, ์บ์‹ฑ์„ ๋ชปํ•˜๋„๋ก ๊ฐฑ์‹ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์บ์‹ฑ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ง‰์•„๋‘˜ ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ‘‰ ๋ฌธ์„œ ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ

ํ•จ์ˆ˜๋ช… ์„ค๋ช…
createElement(tagName) element ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑ
createTextNode(text) text ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑ
appendChild(node) ๊ฐ์ฒด์— ๋…ธ๋“œ๋ฅผ child๋กœ ์ถ”๊ฐ€

 

๐Ÿ‘‰ ๋ฌธ์„œ ๊ฐ์ฒด ์†์„ฑ ์„ค์ •ํ•˜๊ธฐ

ํ•จ์ˆ˜๋ช… ์„ค๋ช…
setAttribute(name, value) ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ง€์ •
(์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ํƒœ๊ทธ์˜ ์†์„ฑ๋„ ๊ฐ€๋Šฅ)
getAttribute(name) ๊ฐ์ฒด์˜ ์†์„ฑ๊ฐ’์„ ๊ฐ€์ ธ์˜ด

 

๐Ÿ‘‰ ๋ฌธ์„œ ๊ฐ์ฒด ์‚ฝ์ž…ํ•˜๊ธฐ

ํ•จ์ˆ˜๋ช… ์„ค๋ช…
innerHTML HTML ํƒœ๊ทธ๋กœ ์‚ฝ์ž…
innerText text๋กœ ์‚ฝ์ž…

 

๐Ÿ‘‰ ๋ฌธ์„œ ๊ฐ์ฒด ๊ฐ€์ ธ์˜ค๊ธฐ

id์˜ ๊ฒฝ์šฐ๋งŒ ๊ณ ์œ ํ•œ 1๊ฐœ์˜ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— element๋‹ค์Œ์— s๊ฐ€ ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š”๋‹ค.

 

๐Ÿ‘‰ ๋ฌธ์„œ ๊ฐ์ฒด ์ œ๊ฑฐ

removeChild(childnode)

 

๐Ÿ‘‰ ์ด๋ฒคํŠธ

     DOM์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•˜์—ฌ ์ด๋ฒคํŠธ์— ๋Œ€์‘ํ•˜๋Š” ์—ฌ๋Ÿฌ ์ž‘์—… ์ˆ˜ํ–‰

     ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒ๋˜๊ธฐ ์ „์—๋Š” ์‹คํ–‰๋˜์ง€ ์•Š๋‹ค๊ฐ€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์‹คํ–‰

     ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋˜๋Š” ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋ผ๊ณ  ํ•œ๋‹ค.

์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ
์›น ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋”ฉ๋จ
ํŽ˜์ด์ง€๋ฅผ ์Šคํฌ๋กคํ•จ
๋งˆ์šฐ์Šค๋ฅผ ํด๋ฆญํ•จ
ํ‚ค๋ณด๋“œ๋กœ ํ‚ค๋ฅผ ์ž…๋ ฅํ•จ
form์ด submit๋จ
input์˜ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋จ
๋งˆ์šฐ์Šค๋ฅผ ์›€์ง์—ฌ์„œ element๋ฅผ ์ด๋™

 

๐Ÿ‘‰ ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ

์ด๋ฒคํŠธ ์„ค๋ช…
onkeypress ํ‚ค๋ณด๋“œ๊ฐ€ ๋ˆŒ๋Ÿฌ ์กŒ์„ ๋•Œ ๋ฐœ์ƒ
onkeydown ํ‚ค๋ณด๋“œ๋ฅผ ๋ˆ„๋ฅด๋Š” ์ˆœ๊ฐ„ ๋ฐœ์ƒ
onkeyup ํ‚ค๋ณด๋“œ์˜ ๋ˆ„๋ฅด๊ณ  ์žˆ๋˜ ํ‚ค๋ฅผ ๋—„ ๋•Œ ๋ฐœ์ƒ

 

๐Ÿ‘‰ Frame ์ด๋ฒคํŠธ

์ด๋ฒคํŠธ ์„ค๋ช…
onload() document, image, frame ๋“ฑ์ด
๋ชจ๋‘ ๋กœ๋”ฉ ๋˜์—ˆ์„ ๋•Œ ๋ฐœ์ƒ.

 

๐Ÿ‘‰ Form ์ด๋ฒคํŠธ

์ด๋ฒคํŠธ ์„ค๋ช…
onsubmit form์ด ์ „์†ก๋  ๋•Œ ๋ฐœ์ƒ

 

๐Ÿ‘‰ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋“ฑ๋ก(inline)

     ์ดˆ๊ธฐ) html ์š”์†Œ์˜ ๋‚ด๋ถ€์—์„œ ์ง์ ‘ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋“ฑ๋ก

     javascript๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ) ์ธ๋ผ์ธ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์Œ.

     Angular, React, Vue.js ๊ฐ™์€ ๊ฑธ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ) inline ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ด์šฉํ•ด์„œ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌ. 

     ์žฅ์ ์€ HTML๊ณผ JavaScript ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ‘‰ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋“ฑ๋ก(property)

     ํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋งŒ์„ ๋ฐ”์ธ๋”ฉ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์—ฌ๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰์— ์„ ์–ธ๋œ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‹คํ–‰

 

๐Ÿ‘‰ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋“ฑ๋ก(addEventListener ๋ฐฉ์‹)

     ์ „๋‹ฌ ์ธ์ž

     1. ์ด๋ฒคํŠธ ์ด๋ฆ„     2. ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ    3. ์บก์ฒ˜๋ง ์—ฌ๋ถ€

     *IE9 ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€(attachEvent ์‚ฌ์šฉ)

     ํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ์— ๋Œ€ํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ

     HTML ๋ง๊ณ ๋„ ๋ชจ๋“  DOM(XML, SVG)์— ๋Œ€ํ•ด์„œ ๋™์ž‘

     ๋งŒ์•ฝ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋‹ค์–‘ํ•œ ํƒœ๊ทธ์— ๋Œ€ํ•ด์„œ ๋™์ž‘ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

     ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋‚ด๋ถ€์— ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

     

๐Ÿ‘‰ ์ด๋ฒคํŠธ ์บก์ฒ˜๋ง, ๋ฒ„๋ธ”๋ง

     ๋”ฐ๋กœ ๊ฒ€์ƒ‰ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ

 

๐Ÿ‘‰ ์›น ์Šคํ† ๋ฆฌ์ง€

     ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„(localStorage)

     getItem(), setItem(), removeItem(), clear() ๋งŒ ๊ธฐ์–ตํ•˜์ž.

     ์ง€์šฐ๋ผ๊ณ  ๋ช…๋ นํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ์ง€์›Œ์ง€์ง€ ์•Š์Œ

     ๊ฐ™์€ ์„ธ์…˜์—์„œ๋งŒ ์ €์žฅ๋˜๋Š” ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€๋„ ์žˆ๋‹ค.

 

 

Comments