๐๊ณต๋ถ72 [JavaScript] ์ด๋ฒคํธ ์บก์ณ๋ง(Event Capturing) ๐ ์ด์ด์ง๋ ๊ธ ์ด๋ฒคํธ ํ๋ก์ฐ(Event Flow) ์ด๋ฒคํธ ๋ฒ๋ธ๋ง(Event Bubbling) + e.stopPropagation() ์ด๋ฒคํธ ์บก์ณ๋ง(Event Capturing) ← Now ! ์ด๋ฒคํธ ์์(Event delegation) ๐ค ์บก์ณ๋ง์ด๋? ์ด๋ฒคํธ ๋ฒ๋ธ๋ง๊ณผ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ์งํ๋๋ ์ด๋ฒคํธ ์ ํ ๋ฐฉ์ ์์์์ → ํ์์์ ์ด๋ฒคํธ ์ ๋ฌ์ด ์งํ ๋จ (propagate down) ํด๋ฆญ const html = document.documentElement; const body = document.body; const div = document.querySelector("div"); div.addEventListener("click", function () { console.log("div"); }); b.. 2021. 9. 23. [JavaScript] ์ด๋ฒคํธ ๋ฒ๋ธ๋ง(Event Bubbling) + e.stopPropagation() ๐ ์ด์ด์ง๋ ๊ธ ์ด๋ฒคํธ ํ๋ก์ฐ(Event Flow) ์ด๋ฒคํธ ๋ฒ๋ธ๋ง(Event Bubbling) + e.stopPropagation() ← Now ! ์ด๋ฒคํธ ์บก์ณ๋ง(Event Capturing) ์ด๋ฒคํธ ์์(Event delegation) ๐ค ๋ฒ๋ธ๋ง์ด๋? ํน์ ํ๋ฉด ์์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋, ํด๋น ์ด๋ฒคํธ๊ฐ ๋ ์์์ ํ๋ฉด ์์๋ค๋ก ์ ๋ฌ๋๋ ํน์ฑ (propagate up) ํด๋ฆญ const html = document.documentElement; const body = document.body; const div = document.querySelector("div"); div.addEventListener("click", function () { console.log("div"); }); body.a.. 2021. 9. 17. [JavaScript] ์ด๋ฒคํธ ํ๋ก์ฐ(Event Flow) ๐ ์ด์ด์ง๋ ๊ธ ์ด๋ฒคํธ ํ๋ก์ฐ(Event Flow) ← Now ! ์ด๋ฒคํธ ๋ฒ๋ธ๋ง(Event Bubbling) + e.stopPropagation() ์ด๋ฒคํธ ์บก์ณ๋ง(Event Capturing) ์ด๋ฒคํธ ์์(Event delegation) ๐ ๋ค์ด๊ฐ๊ธฐ ์ ์?! ์ด๋ฒคํธ ํธ๋ค๋ฌ = ์ด๋ฒคํธ ๋ฆฌ์คํฐ = ์ด๋ฒคํธ ์ฝ๋ฐฑํจ์ (๋ชจ๋ ๊ฐ์ ๋ง!) elementDiv.addEventListener('click', function(){ // ํด๋ฆญ์ ํ์ ๋ console.log('clickํ์ต๋๋ค') // ํ ์ผ }, false); // ์ต์ // [์ด๋ฒคํธ๊ฐ ์ผ์ด๋ ์ ].addEventListener( [์ด๋ค ํ๋์ ํ์ ๋], // [ํ ์ผ], // [์ต์ , useCapture Boolean์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ, ๋ํดํธ=false.. 2021. 9. 16. [JavaScript] IIFE(Immediately Invoked Function Expression) ๐ IIFE(Immediately Invoked Function Expression)๋? ์ฆ์ ์คํ ํจ์, ํจ์ ์ ์ธ๊ณผ ๋์์ ์คํ์ํด (function() {})(); ์ ํํ๋ฅผ ๊ฐ์ง ( function() { ... } )(); ํจ์์ ์ธ์์ด ์๋๊ณ ํจ์๋ฅผ ์คํ์ํค๋ ๊ดํธ ํจ์ ํํ์์์ js์๊ฒ ์๋ ค์ค ์คํ ์ปจํ ์คํธ ๋ด์์ ๋ชจ๋ ๋ณ์, ํจ์๋ฑ์ด ์ ์ธ๋๋ฏ๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ IIFE์ ๋ก์ปฌ์ค์ฝํ ์์๋ง ์ ์ฅ๋๋ค. ์ด๋ ์ ์ญ์ค์ฝํ๋ฅผ ์ค์ผ์ํค์ง ์๊ณ , ์ธ๋ถ์์ ๋ฉ๋๋ก IIFE ๋ด๋ถ์ ๊ฐ์ ์ ๊ทผํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ์์ ํ๊ฒ ๋ณด๊ดํ ์ ์๋ค. var example1 = (function() { function a() { return 5; } return { a : a // {ํธ์ถํ ๋ ์ฐ๋ ์ด๋ฆ : ์ค์ ๋ฐ์ดํฐ.. 2021. 9. 15. quick sort (+ til์ ๋ํ ์ฃผ์ ๋ฆฌ...) ์ฃผ์ ๋ฆฌ ๋จผ์ ๐ ์ผ๋จ ์ง๊ธ ์งํ์ค์ธ ํน๊ฐ์ ํ๋ฌ๋ง์ ์คํฐ๊ณจ์ ธ์ค ๐์คํฐ๋๐ ์ ๋ง ๋น์ ๋ค ์์์ผ๋ฉด ์ด์ฉ๋ปํ์ด.. ๋ค๊ฐ์ด ์ผ์ฐ์ผ์ฐ ํด์ ๋ญ๋ ์ฒ์ฒํด๋ด๋ ์ด ์คํฐ๋ ์ง์ง ์ต๊ณ ์ผ........... ์๋ฌดํผ 5์๋ถํฐ(!!!) ๋ค๊ฐ์ด ๋ ธ์ ์ ์ ๋ฆฌํ til์ด ๊ฝค ์์ฌ์ ๋ณต์ต์ด ํ์ํ๋ค๋ ๊ฒฐ๋ก ์ด ๋์๊ณ , ๊ทธ๋ฅ ์ฅ ์ฝ์ผ๋ฉด ๋๊ฐ ์ง์์ ๊ฑฐ๋ถํ ๊ฒ์ด๋ฏ๋ก ๊ฒฐ๊ตญ ํฐ์คํ ๋ฆฌ์ ํ๋ฒ ๋ค์ ์ ๋ฆฌํ๊ธฐ๋ก ๊ฒฐ์ฌ๐ #๊ฐ๋ณด์๊ณ Quick sort ๐ ๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋ ํ๊ท ์ ์ผ๋ก ๋งค์ฐ ๋น ๋ฅธ ์ํ ์๋๋ฅผ ๊ฐ์ง O(N*logN) ํ์ง๋ง ์ต์ ์ ๊ฒฝ์ฐ O(n^2)๊ฐ ๋ ์๋ ์์ผ๋ฏ๋ก ํผ๋ฒ(pivot) ์ ํ์ ์ ์คํด์ผ ํจ → List๋ฅผ ์ ๋ ฌ ํ ๋ค์์ ๋ฑ ๊ฐ์ด๋ฐ ๊ฐ์ ์ ํํ๋ฉด ์ข๊ฒ ์ง๋ง.. ๊ทธ๋ฌ๋ฉด ๊ตณ์ด ํต์ ๋ ฌ์ ์ธ ํ์๊ฐ....๐ฐ → List์ ๊ธธ์ด๊ฐ .. 2021. 9. 14. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 15 ๋ค์