728x90
๋ฐ˜์‘ํ˜•

JavaScript 14

[javascript] ์ฝœ๋ฐฑํ•จ์ˆ˜

์ฝœ๋ฐฑํ•จ์ˆ˜๋ž€? ์ฝœ๋ฐฑํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ํ•จ์ˆ˜์— ๋งค๊ฒจ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์ค€ ํ•จ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค. ํ•จ์ˆ˜๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์•„์„œ ํ•จ์ˆ˜์•ˆ์—์„œ ๋˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ํ•จ์ˆ˜๋ฅผ ๋„˜๊ฒจ ๋ฐ›์€ ํ•จ์ˆ˜๊ฐ€ ๋จผ์ € ์‹คํ–‰์ด ๋˜๊ณ  ๋‚˜์ค‘์— ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„˜์–ด์˜จ ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค๋Š” ๊ฒƒ์—์„œ ์ฝœ๋ฐฑCallback)ํ•จ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ์ฝœ๋ฐฑํ•จ์ˆ˜๋Š” ํ•„์š”์— ๋”ฐ๋ผ ์ฆ‰์‹œ ์‹คํ–‰ํ• ์ˆ˜๋„ ๋‚˜์ค‘์— ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„˜๊ธธ ๋•Œ ํ•จ์ˆ˜์˜ ์ด๋ฆ„๋งŒ ๋„˜๊ฒจ์ฃผ๋ฉด ๋œ๋‹ค. ์˜ˆ ) function add(x, callback) {let sum = x + x; console.log(sum); callback(sum); } ์ถœ์ฒ˜ : https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%..

Front/JS & jQuery 2022.04.17

๋ Œ๋”๋ง์ด๋ž€?

์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์›น์‚ฌ์ดํŠธ๋ฅผ ์ ‘์†ํ•˜๋ฉด, ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ HTML, CSS๋“ฑ ์›น์‚ฌ์ดํŠธ์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค์šด ๋ฐ›๋Š”๋‹ค. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•˜๋ ค๋ฉด ๋จผ์ € HTML์ฝ”๋“œ๋Š” DOM, CSS๋Š” CSSOMํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. 1-1. DOM ํŠธ๋ฆฌ ์ƒ์„ฑ - ๋ณ€ํ™˜ : ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML์˜ ์›์‹œ Byte๋ฅผ ์ฝ์–ด์™€์„œ, HTML์— ์ •์˜๋œ ์ธ์ฝ”๋”ฉ( UTF-8 )์— ๋”ฐ๋ผ ๊ฐœ๋ณ„ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ - ํ† ํฐํ™” : ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฌธ์ž์—ด์„ W3Cํ‘œ์ค€์— ์ง€์ •๋œ ๊ณ ์œ  ํ† ํฐ์œผ๋กœ ๋ณ€ํ™˜ - ๋ ‰์‹ฑ : ๋ฐฉ์ถœ๋œ ํ† ํฐ์€ ํ•ด๋‹น ์†์„ฑ ๋ฐ ๊ทœ์น™์„ ์ •์˜ํ•˜๋Š” "๊ฐ์ฒด"๋กœ ๋ณ€ํ™˜ - DOM ์ƒ์„ฑ : ๋งˆ์ง€๋ง‰์œผ๋กœ HTML ๋งˆํฌ์—…์— ์ •์˜๋œ ์—ฌ๋Ÿฌ ํƒœ๊ทธ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ•ด์„ํ•ด์„œ ํŠธ๋ฆฌ๊ตฌ์กฐ๋กœ ์—ฐ๊ฒฐ ๋ธŒ๋ผ์šฐ์ €๋Š” HTML ๋งˆํฌ์—… ์ฒ˜๋ฆฌ๋ฅผ ํ•  ๋•Œ๋งˆ๋‹ค ์œ„์˜ ๋ชจ๋“  ๋‹จ๊ณ„ ์ˆ˜ํ–‰ 1-2. CSSOM ํŠธ..

Front 2022.04.08

[javascript] e.preventDefault();

e. ์€ ์ด๋ฒคํŠธ ๊ฐ์ฒด๋ฅผ ๋งํ•œ๋‹ค. preventDefault()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํƒœ๊ทธ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณ ์œ ์˜ ๋™์ž‘๋“ค์„ ์ค‘๋‹จ์‹œํ‚จ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด a ํƒœ๊ทธ๋Š” href ๋กœ ์„ค์ •๋œ ์ฃผ์†Œ๋กœ ์ด๋™์„ํ•˜๊ฒŒ๋˜๊ณ , submit ํƒœ๊ทธ๋Š” form์•ˆ์— input ์„ ์ „์†กํ•˜๊ณ  ํŽ˜์ด์ง€๋ฅผ reloadํ•œ๋‹ค. $("a").click(function(e){ e.preventDefault(); alert("e.preventDefault()"); }); ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด href ์ฃผ์†Œ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๊ณ  ๊ฒฝ๊ณ ์ฐฝ์— e.preventDefault() ์ด ๋œฌ๋‹ค.

Front/JS & jQuery 2022.04.06

[javascript] history.pushState - ํ™”๋ฉด์ „ํ™˜

history.pushState ๋Š” ํŽ˜์ด์ง€ ๋ฆฌ๋กœ๋“œ ์—†์ด ์ฃผ์†Œ๋งŒ ๋ณ€๊ฒฝํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. (๋ธŒ๋ผ์šฐ์ €์˜ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋จ ) ๋ธŒ๋ผ์šฐ์ € ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ•˜๊ฒŒ ๋˜๋ฉด window.onpopstate ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. pushState๋ฅผ ํ–ˆ์„ ๋•Œ๋Š” popstate ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ , ๋’ค๋กœ / ์•ž์œผ๋กœ ๊ฐ€๊ธฐ๋ฅผ ํด๋ฆญ ํ–ˆ์„ ๋•Œ popstate์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. pushState์™€ popstate๋ฅผ ์ด์šฉํ•˜์—ฌ SPA์˜ ํŽ˜์ด์ง€ ์ „ํ™˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. history.pushState( state, titile, url ); state : ๋ธŒ๋ผ์šฐ์ € ์ด๋™ ์‹œ ๋„˜๊ฒจ์ค„ ๋ฐ์ดํ„ฐ title : ๋ณ€๊ฒฝํ•  ๋ธŒ๋ผ์šฐ์ € ์ œ๋ชฉ ( ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด null ) url : ๋ณ€๊ฒฝํ•  ์ฃผ์†Œ

Front/JS & jQuery 2022.02.23
728x90
๋ฐ˜์‘ํ˜•