# ์ ์ญ ๊ฐ์ฒด window ๐
# ์ ์ญ ๊ฐ์ฒด window
๋ธ๋ผ์ฐ์ ์์๋ค, ์๋ฐ์คํฌ๋ฆฝํธ ์์ง(์์ง ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ๊ฒ์ผ๋ก ์ถ์ ) ๋ฑ ๋ชจ๋ ๋ณ์๋ฅผ ๋ด๊ณ ์๋ ๊ฐ์ฒด
# TODO
window ๊ฐ์ฒด์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง
# BOM
# DOM
getElementById(), getElementByClassName(), getElementByName(), getElementByTagName()
querySelector(css ์ ํ์๋ก) querySelctorAll(Css์ ํ์, ํ๊ทธ๋ช [์์ฑ๋ช =์์ฑ๊ฐ], ๋ถ๋ชจ>์์, ๋ถ๋ชจ์์)
createElement(ํ๊ทธ๋ช ), createTextNode(ํ ์คํธ)
createDocumentFragment() ๊ฐ์ง document
- JS๋ก DOM ํ๊ทธ๋ฅผ ์กฐ์ํ๋ฉด ์ฑ๋ฅ์ด ๋ฎ์์ง๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๋ค
- ์ฌ๋ฌ ํ๊ทธ๋ฅผ ๋ฐ๋ชฉ๋ฌธ์ ์ฌ์ฉํด ๋์์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ. body ์ ๋จ ํ๋ฒ ์ํฅ์ ์ฃผ๋๋ฐฉ๋ฒ
# Node
ํ๊ทธ๋ ธ๋ + ํ ์คํธ ๋ ธ๋
firstChild, lastChild, parentNode, previousSibling, nextSibling
# Element
ํ๊ทธ ๋ ธ๋
firstElementChild, lastlementChild, parentElement previousElementSibling, nextElementSibling
# ํ๊ทธ. innerHTML, outerHTML
ํ๊ทธ.innerHTML
- ์ ํ ํ๊ทธ์ ๋ด์ฉ๋ฌผ์ ์ป์ด์ค๊ฑฐ๋ ๋ณ๊ฒฝ (์ ํํ๊ทธ ๋นผ๊ณ ๋ด์ฉ๋ฌผ๋ง)
ํ๊ทธ.outerHTML
- ํ์ฌ ํ๊ทธ์ ๋ด์ฉ๋ฌผ์ ์ป์ด์ค๊ฑฐ๋ ๋ณ๊ฒฝ (์ ํ ํ๊ทธ ํฌํจ ๋ด์ฉ๋ฌผ)
# ํ๊ทธ.์์ฑ
- id, className, name, value, placeholder, checked, diasbled, readonly
- attributes(ํด๋น ํ๊ทธ์ ๋ชจ๋ ์์ฑ)
- clientHeight, clientWidth (ํ๊ทธ์ margin, border, scollerbar ๋ฅผ ์ ์ธํ ๋์ด์ ๋๋น)
- scrollHeight, scrollerWidth (์คํฌ๋กค ๊ฐ๋ฅํ ๋ฒ์๊น์ง ํฌํจํ ํ๊ทธ ๋์ด, ๋๋น)
- offsetHeight, offsetWidth (ํ๊ทธ์ margin๋ง ์ ์ธํ ๋์ด ๋๋น)
# ํ๊ทธ.๋ฉ์๋
- appendChild, removeChild, insertBefore (์์ ์ ํ์ ํ๊ทธ ์์ ์ฝ์ ), cloneNode(์์ ๋ณต์ฌ)
- document.body.childNodes[document.body.childNodes.length - 1 ]
# Date
new Date(), new Date(1997, 02, 03) getFullYear, setFullYear, getMonth, setMonth, getDate, setDate, getDay, setDay, getHour, setHour, getMinutes, setMinutes, getSeconds, setSeconds, toString(ํ์ฌ๋ ์ง), toLocaleString(๋ณด๊ธฐ์ข์๋ ์ง), toUTCString(์ธ๊ณ์)
#
getElementById๊ฐ queryselector์ ๋นํด ์๋์ ์ผ๋ก ๋น ๋ฅด๊ธฐ๋ ํ๋, ํ๋ก์ ํธ ๋ด์์ ์ฌ์ฉํ๋ ํจ์์ ํ์ querySelector์ ์ฑ๋ฅ(๋๋ต ์ด๋น 700๋ง๊ฑด ์์ ์ฒ๋ฆฌ ๊ฐ๋ฅํ๋ค๋ค์)๊ณผ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๊ณ ๋ คํด๋ดค์ ๋ ์์ด์ ์ฌ์ฉํ๋ ๊ฒ ๋ณด๋ค ํต์ผํ๋ ๊ฒ์ด ๋ซ๋ค๊ณ ์๊ฐํ์ต๋๋ค! https://hashcode.co.kr/questions/5692/%EA%B0%95%EC%9D%98-4-11-queryselector%EC%97%90-%EC%84%B1%EB%8A%A5%EB%AC%B8%EC%A0%9C%EC%97%90-%EB%8C%80%ED%95%B4-%EC%A7%88%EB%AC%B8-%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4getElementById๊ฐ queryselector์ ๋นํด ์๋์ ์ผ๋ก ๋น ๋ฅด๊ธฐ๋ ํ๋, ํ๋ก์ ํธ ๋ด์์ ์ฌ์ฉํ๋ ํจ์์ ํ์ querySelector์ ์ฑ๋ฅ(๋๋ต ์ด๋น 700๋ง๊ฑด ์์ ์ฒ๋ฆฌ ๊ฐ๋ฅํ๋ค๋ค์)๊ณผ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๊ณ ๋ คํด๋ดค์ ๋ ์์ด์ ์ฌ์ฉํ๋ ๊ฒ ๋ณด๋ค ํต์ผํ๋ ๊ฒ์ด ๋ซ๋ค๊ณ ์๊ฐํ์ต๋๋ค! https://hashcode.co.kr/questions/5692/%EA%B0%95%EC%9D%98-4-11-queryselector%EC%97%90-%EC%84%B1%EB%8A%A5%EB%AC%B8%EC%A0%9C%EC%97%90-%EB%8C%80%ED%95%B4-%EC%A7%88%EB%AC%B8-%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4 https://github.com/next-step/js-todo-list-step2/pull/18/files#r492672380
โ 13. JS์ ์ญ๊ฐ์ฒด 15. ๊ฐ โ