์๋ฐ์คํฌ๋ฆฝํธ13 HTML์ด ๋ ๋๋ง ์ค์ JavaScript๊ฐ ์คํ๋๋ฉด ๋ ๋๋ง์ด ๋ฉ์ถ๋ ์ด์ ๋จผ์ !! ๋ธ๋ผ์ฐ์ ๋ ๋๋ง๊ณผ์ ์๋ฒ๋ก๋ถํฐ HTML๊ณผ CSS ์์์ ๋ฐ์์์ DOM Tree์ SSOM Tree๋ฅผ ์์ฑํ๋ค. DOM Tree์ SSOM Tree๋ก ๋ธ๋ผ์ฐ์ ์ ๋ ์ด์์์ ์ก์์ค ๋ ๋ํธ๋ฆฌ๋ฅผ ์์ฑํ๋ค. ๋ ๋ํธ๋ฆฌ ๋ ธ๋ ์๋ ์์ฑ์ด๋ ์คํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ๋ธ๋ผ์ฐ์ ์ ํฌ๊ธฐ, ์์น, ํฌ๊ธฐ์ ๋ง๊ฒ ๋ ์ด์์์ ์ก๋๋ค. ๋ธ๋ผ์ฐ์ ์ ํ์ธํธ ํ๋ค. ์ด์ #1 ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์ ์ค์ ํ๊ทธ๋ฅผ ๋ง๋๊ฒ ๋๋ฉด ์งํ์ค์ธ HTMLํ์ฑ์ ์ค์งํ๊ณ js์์ง์ผ๋ก ์ ์ด ๊ถํ์ ๋๊ธด๋ค. JSํ์ฑ๊ณผ ์คํ์ด ์ข ๋ฃ๋๋ฉด ๋ ๋๋ง ์์ง์ผ๋ก ๋ค์ ๋์๊ฐ ํ์ฑ์ด ์ค๋จ๋ ์์ ๋ถํฐ ๋ค์ ํ์ฑ์ ์์ํ๋ค. ๊ทธ๋ ๊ธฐ์ ์ฌ์ฉ์๋ ์๋๊ฐ ๋๋ ค์ง ๊ฒ ์ฒ๋ผ ๋๊ปด์ง๊ณ ํจ์จ์ฑ์ด ๋จ์ด์ง๋ค. ์ด๋ฌํ ์๋ฆฌ ๋๋ฌธ์ ์คํฌ๋ฆฝํธ ์์ค๋ body ํ๊ทธ ๋์ ๋๋ ๊ฒ์ ๊ถ์ฅํ๋ค. ์.. 2023. 1. 9. [JS]์ด๋ฒคํธ ๋ฒ๋ธ๋ง๊ณผ ์บก์ฒ๋ง(Bubbling & Capturing) ๐๐ปJavaScript์๋ click , keypress , focus , submit , scroll , change ์ ๊ฐ์ ๋ค์ํ ์ด๋ฒคํธ๋ค์ด ์๋ค. ๋ง์ฝ ๋ถ๋ชจ ์์์ ์์ ์์์ ๋ ๋ค ๊ฐ์ ์ข ๋ฅ์ ์ด๋ฒคํธ๊ฐ ํ ๋น ๋์ด์์ ๋, ์ด๋ฒคํธ๋ฅผ ๋์์ํค๋ฉด ์ด๋ค ์ด๋ฒคํธ๊ฐ ๋จผ์ ์คํ๋ ๊น? ์ด๋ฒคํธ ๋ฒ๋ธ๋ง ( Event Bubbling ) ์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ ํน์ ํ๋ฉด ์์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ํด๋น ์ด๋ฒคํธ๊ฐ ๋ ์์์ ํ๋ฉด ์์๋ค๋ก ์ ๋ฌ๋์ด ๊ฐ๋ ํน์ฑ์ ์๋ฏธํ๋ค. ์์ ๊ฐ์ด ๋ธ๋ผ์ฐ์ ๋ ํน์ ํ๋ฉด ์์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ๊ทธ ์ด๋ฒคํธ๋ฅผ ์ต์์์ ์๋ ํ๋ฉด ์์๊น์ง ์ด๋ฒคํธ๋ฅผ ์ ํ์ํค๋ ํน์ฑ์ ๊ฐ์ง๊ณ ์๋ค. ์ด์ ๊ฐ์ ํ์์์ ์์ ์์๋ก์ ์ด๋ฒคํธ ์ ํ ๋ฐฉ์์ ์ด๋ฒคํธ ๋ฒ๋ธ๋ง(Event Bubbling)์ด๋ผ๊ณ ํ๋ค... 2022. 11. 27. [JavaScript] ์ค์ฝํ ์ฒด์ธ์ด๋? ์ค์ฝํ๋? ๋ณ์(์๋ณ์)์ ์ ํจ ๋ฒ์๋ฅผ ๋ปํ๋ค. ์ค์ฝํ(Scope)๋ ๋ณ์๊ฐ ์ด๋์, ์ด๋ป๊ฒ ์ ์ธ๋์๋์ง์ ๋ฐ๋ผ ๊ทธ ๋ณ์์ ์ ํจํ ๋ฒ์๊ฐ ๊ฒฐ์ ๋๋ ๊ท์น์ด๊ธฐ๋ ํ๋ฉฐ, ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์ด ๊ท์น์ ๋ฐ๋ผ ์ฐธ์กฐ์ ๋์์ด ๋๋ ๋ณ์๋ฅผ ํ์ํด๋๊ฐ๋ค. (→ ๊ทธ๊ฒ์ Scope Chain) ๐์ค์ฝํ์ฒด์ธ? ์๋ฐ์ค ํฌ๋ฆฝํธ ES2015๊ธฐ์ค์ผ๋ก ํ๋ฐ๋ ์์ ์ ํจ์๊ฐ ๊ธฐ์ค์ด์๋๋ฐ ์์ฆ์ ๋ธ๋ก์ด ๊ธฐ์ค์ด๋ค( ํจ์๋ ๋คํํ ๋ธ๋ก์ ๊ฐ์ง๊ณ ์๋ค ) ์ค์ฝํ ์ฒด์ธ(Scope Chain)์ ์ผ์ข ์ ๋ฆฌ์คํธ๋ก์ ์ ์ญ ๊ฐ์ฒด์ ์ค์ฒฉ๋ ํจ์์ ์ค์ฝํ์ ๋ ํผ๋ฐ์ค๋ฅผ ์ฐจ๋ก๋ก ์ ์ฅํ๊ณ , ์๋ฏธ ๊ทธ๋๋ก ๊ฐ๊ฐ์ ์ค์ฝํ๊ฐ ์ด๋ป๊ฒ ์ฐ๊ฒฐ(chain)๋๊ณ ์๋์ง ๋ณด์ฌ์ฃผ๋ ๊ฒ ์ ๋งํ๋ค. ์ ํจ ๋ฒ์๋ฅผ ๋ํ๋ด๋ ์ค์ฝํ๊ฐ scope ํ๋กํผํฐ๋ก ๊ฐ ํจ์ ๊ฐ์ฒด ๋ด์์ ์ฐ๊ฒฐ๋ฆฌ์คํธ.. 2022. 11. 9. [JavaScript] Scope๋? ๐๐จ์๋ฐ์คํฌ๋ฆฝํธ๋ ํจ์ ๋ ๋ฒจ ์ค์ฝํ(function-level scope)๋ฅผ ๋ฐ๋ฅธ๋ค. ํจ์ ๋ ๋ฒจ ์ค์ฝํ๋ ํจ์ ์ฝ๋ ๋ธ๋ก ๋ด์์ ์ ์ธ๋ ๋ณ์๋ ํจ์ ์ฝ๋ ๋ธ๋ก ๋ด์์๋ง ์ ํจํ๊ณ ํจ์ ์ธ๋ถ์์๋ ์ ํจํ์ง ์๋ค(์ฐธ์กฐํ ์ ์๋ค)๋ ๊ฒ์ด๋ค. ๐๐ป๋จ, ECMAScript 6์์ ๋์ ๋ let keyword๋ฅผ ์ฌ์ฉํ๋ฉด ๋ธ๋ก ๋ ๋ฒจ ์ค์ฝํ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ๐จ๐ป๐ป Scope๋? Scope๋ ์ง์ญํ๋ฉด "๋ฒ์"๋ผ๋ ๋ป์ด๋ค. JavaScript ์์ Scope(์ค์ฝํ)๋ ๋ณ์์ ์ ๊ทผํ ์ ์๋ ๋ฒ์๋ฅผ ๋งํ๋ค. ์๋ณ์(๋ณ์)๋ฅผ ์ฐพ๊ธฐ์ํ ๊ท์น์ด๋ผ๊ณ ๋ ํ๋ค. ์๋ณ์์ ์ ํจ ๋ฒ์ ⇒ ๋ชจ๋ ์๋ณ์๋ ์์ ์ด ์ ์ธ๋ ์์น์ ์ํ์ฌ ๋ค๋ฅธ ์ฝ๋๊ฐ ์๋ณ์ ์์ ์ ์ฐธ์กฐํ ์ ์๋ ์ ํจ ๋ฒ์๊ฐ ๊ฒฐ์ ๋จ. var x = 'global'; f.. 2022. 11. 5. ์ด์ 1 2 3 4 ๋ค์