๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’๊ณต๋ถ€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.