๐ Study/JS, JQuery

๋๊ธฐ๋ฐฉ์ vs ๋น๋๊ธฐ๋ฐฉ์, ์ฝ๋ฐฑํจ์์ Promise ๊น์ง ํ๋ฒ์ ํ์ด๋ณด๊ธฐ!
๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ชจ๋ธ์ ๋ฐฉ์ :: ๋๊ธฐ๋ฐฉ์ vs ๋น๋๊ธฐ๋ฐฉ์ ๋๊ธฐ๋ฐฉ์ ์์ฐจ์ ์ผ๋ก ๋์ํ๋ ๋ฐฉ์ ์์ฒญ์ ๋ณด๋ธ ํ ํด๋น ์๋ต์ ๋ฐ์์ผ ๋ค์ ๋์์ ์คํํ๋ฉฐ ์ด ๋์์ด ๋๋ ๋๊น์ง ๋ค์ ๋์์ ๋๊ธฐ์ํ์ด๋ค. ์ ๊ทธ๋ผ a์ฒ๋ผ ์นดํ์์ ์ค์ ์์ ์ปคํผ๋ฅผ ๋ฐ๋ ๋ฐฉ์์ผ๋ก ๋น์ ํ๋๋ฐ, ํ ๋์์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋์์ด ๋๋ฆฌ๋ค๋ ๋๋์ ๋ฐ์ ์ ์๋ค. ์ด๊ฒ์ ์ค์ CPU๊ฐ ๋๋ ค์ง๋ ๊ฒ์ ์๋์ง๋ง ์์คํ ์ ์ฒด์ ์ธ ํจ์จ์ด ์ ํ๋๋ค๊ณ ๋ณผ ์ ์๋ค. ์ค๊ณ๊ฐ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ด๋ผ๋ ์ฅ์ ์ ๊ฐ์ง์ง๋ง, ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ๋๊น์ง ์๋ฌด๊ฒ๋ ๋ชปํ๊ณ ๋๊ธฐํด์ผ ํ๋ค๋ ๋จ์ ์ด ์๋ค! function func1(){ console.log("1๋ฒ์ ๋๋ค"); func2(); } function func2(){ console.log("2๋ฒ์ ๋๋ค"); fu..
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ DOM (Document Obejct Model) ๊ฐ๋ณ๊ฒ ์ดํดํ๊ธฐ - 2
๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ(The Document Object Model)์ ์นํ์ด์ง๋ฅผ ์์ ๋กญ๊ฒ ๋ค๋ฃจ๊ธฐ ์ํด ์นํ์ด์ง๋ฅผ ๊ฐ์ฒดํ ํ ๊ฐ๋ ์ด๊ณ , ์น ํ์ด์ง๋ฅผ ๊ฐ์ฒดํํ ๊ฐ ์์์์๋ค์ Node๋ผ๊ณ ๋ถ๋ฅด๊ณ , ๋ ธ๋๋ค ์ค์์ ๊ฐ์ฅ ์์ ๋ ธ๋๊ฐ document ๊ฐ์ฒด์๋ค. ๊ทธ๋์ document ๊ฐ์ฒด์ ๋ฉ์๋๋ฅผ ํ์ฉํ๋ฉด ์นํ์ด์ง์ ์ํ๋, ํน์ ์นํ์ด์ง ๋ด์ ๋ค์ํ ๋ ธ๋์ ์ ๊ทผํ ์ ์์๋๋ฐ ์ด๋ฒ ํฌ์คํธ์์๋ ์ค์ ๋ก ์น ํ์ด์ง์ HTML์ ์์ ๋กญ๊ฒ ๋ค๋ฃจ๋ ๋ฉ์๋์ ํ๋กํผํฐ์ ๋ํด์ ์ข ๋ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. ๋ ธ๋ ์์ฑํ๊ธฐ 1. Html tag ๋ ธ๋ ์์ฑํ๊ธฐ (createElement ๋ฉ์๋) // document.createElement(tagName); const divElement = document.createElement..
![[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ DOM (Document Obejct Model) ๊ฐ๋ณ๊ฒ ์ดํดํ๊ธฐ - 1](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3LQdf%2FbtrvQgkYPN5%2FkTMLwtcZ6NSG55wmL63Oh0%2Fimg.jpg)
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ DOM (Document Obejct Model) ๊ฐ๋ณ๊ฒ ์ดํดํ๊ธฐ - 1
์๋ฐ์คํฌ๋ฆฝํธ๋ก ์น ํ์ด์ง ์ข ๋ ์์ ๋กญ๊ฒ ๋ค๋ฃจ๋ ค๋ฉด DOM์ ๋ํ ์ดํด๊ฐ ํ์ํ๋ค. ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ (DOM) ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ(Document Object Model, DOM)์ ๋ง ๊ทธ๋๋ก ์น ํ์ด์ง ๋ด์ ๋ชจ๋ ์ฝํ ์ธ ๋ฅผ ๊ฐ์ฒด๋ก ๋ํ๋ด ์ฃผ๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ๊ฐ๋จํ๊ฒ ์๊ฐํ๋ฉด ์น ํ์ด์ง๋ฅผ document๋ผ๊ณ ๋ถ๋ฅด๊ณ , document๋ฅผ ์์ ๋กญ๊ฒ ๋ค๋ฃจ๊ธฐ ์ํด์ ๊ฐ์ฒดํ ํ๊ณ ์ ๊ตฌํ๋ ๊ฐ๋ ์ด ๊ฒฐ๊ตญ์ด DOM์ด๋ผ๊ณ ์๊ฐํ ์ ์๊ฒ ๋ค. ๊ทธ๋ฆฌ๊ณ HTML ํ๊ทธ์ ๊ธ์, ์์ฑ ๋ฑ document์ ๋ด๊ฒจ์๋ ๋ชจ๋ ์์๋ค์ ํ๋ํ๋๋ฅผ ๊ฐ์ฒดํ ํ ๋จ์๋ฅผ ๊ฐ๋ฆฌ์ผ ๋ ธ๋(Node)๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์๋ฌดํผ, ๊ฒฐ๊ตญ DOM์ ์น ํ์ด์ง๋ฅผ ๊ฐ์ฒดํ ํ ๊ฐ๋ ์ด๊ณ , ์ด ์นํ์ด์ง์ ๊ฐ์ฅ ์๋จ ์ง์ ์ ์ด ๋ฐ๋ก document ๊ฐ์ฒด์ด๋ค. document ๊ฐ์ฒด๋..
![[๋์ฝ]# 8 WEATHER](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkFMiV%2FbtruNWBM3b5%2Fmlk5iqlSpJCxzWuMBAuAM0%2Fimg.png)
[๋์ฝ]# 8 WEATHER
8.0 Geolocation navigator.geolocation.getCurrentPosition() ์ด๊ฑธ ๋ถ๋ฅด๋ฉด ๋ธ๋ผ์ฐ์ ์์ ์์น ์ขํ๋ฅผ ์ค๊ฑฐ๋ค. WIFI, ์์น, GPS JavaScript๊ฐ ๋๋ง์ ์ ๋ณด๋ค์ ์ค๊ฑฐ๋ค JS๊ฐ user์ ์์น๋ฅผ ์ ๋ฌํด ์ค๊ฑฐ๋ค. ์ฝ๋ 10์ค๋ก user์ ์์น๋ฅผ ์ ์ ์์ 8.1 Weather API ๊ธฐ๋ณธ์ ์ผ๋ก API๋ ๋ค๋ฅธ ์๋ฒ์ ์ด์ผ๊ธฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด URL์์ ์ ๋ณด๋ฅผ ์๋ตํ ๊ฑฐ๋ค. URL์์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์์ ๋ณผ๊ฑฐ๋ค. fetch๋ฅผ ์ฌ์ฉํด์ URL์ ์ป์ ๊ฑฐ๋ค. ์ค์ ๋ก URL์ ๊ฐ ํ์ ์์ด JavaScript๊ฐ ๋์ URL ์ ๋ถ๋ฅผ ๊ฑฐ๋ค. weather ์ ์ฒด ์ฝ๋
![[๋์ฝ] # 7 TO DO LIST](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FekbF37%2FbtruTicPexB%2F5EuIFjU8dvN4Usl60kpZkK%2Fimg.png)
[๋์ฝ] # 7 TO DO LIST
7.0 Set up 7.1 Adding ToDos li.appendChild๋ฅผ ํด์ li์์ span์ ๋ง๋ฌ toDoList์ li์์๋ฅผ ์ถ๊ฐํจ greetings ์น์ ๊ณผ ๋น์ทํ ๊ฑธ ํ๊ฑฐ์ class์ ๋ญ ์ถ๊ฐํ๋ ๊ทธ๋ฐ ๊ธฐ๋ฅ๋ค 7.2 Deleting To Dos button์ด click event๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ด์ผ ํ๋ค. button์ด ํด๋ฆญ ๋๊ฑธ ์ธ์ง๋ ํ๋๋ฐ ์ด๋ค li๋ฅผ ์ ๊ฑฐํด์ผ ๋๋ ์ง๋ฅผ ์์ง ๋ชปํ๋ค. mouseํด๋ฆญ ์ขํ๋ก ํ๊ธฐ์ ๋๋ฌด ๊ธธ๋ค path ๋ฅผ ์ด์ฉ li๋ฅผ ์ฐพ๋๋ค parentNode, parentElement๋ฅผ tartget์ ํด๋ฆญ๋ HTML element ์ด๋ค. ๋ชจ๋ HTML element์๋ ํ๋ ์ด์์ property๊ฐ ์๋ค. parentElement๋ ํด๋ฆญ๋ element์ ๋ถ๋ชจ์ด๋ค. ..
![[๋์ฝ]#6 QUOTES AND BACKGROUND(๋ช
์ธ ๊ฐ์ ธ์ค๊ธฐ)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIoOLM%2FbtruUnLJcS4%2FySCk2VyMJFIIjYdxEF4n7K%2Fimg.png)
[๋์ฝ]#6 QUOTES AND BACKGROUND(๋ช ์ธ ๊ฐ์ ธ์ค๊ธฐ)
6.0 Quotes ์๊ฐ๋ ๋ฐ์, ๋ช ์ธ์ ์์ Math.floor random ๋ฐ์quote๊ฐ ์๋ author์ 6.1 Background createElement ์์๋ฅผ JS ๋ก HTML์ ์์๋ฅผ ๋ง๋ ๊ฐ.
![[๋์ฝ] #5 clock](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fut32q%2FbtruE8WBMT8%2FlD7dSkBxKm4SiQJ4Rci3Hk%2Fimg.png)
[๋์ฝ] #5 clock
์๊ณ ๋ง๋ค๊ธฐ 5.0 Intervals Interval์ ‘๋งค๋ฒ’์ผ์ด๋์ผ ํ๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋งํ๋ค. ํ๊ณ ์ถ์ ๊ฑฐ๋ ์ด ํจ์๋ฅผ ๋งค 2์ด๋ง๋ค ์คํํ๋ ๊ฒ์ด๋ค. Javascript๋ ์ด๋ฏธ ๊ทธ ๊ฐ๋ ์ ๋ด์ฅํ๊ณ ์๋ค. ์ด๋ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ tool์ด ๋ฐ๋ก setInterval()์ด๋ค. setInterval์ ๋ ๊ฐ์ argument๋ฅผ ๋ฐ๋๋ค. ์ฒซ๋ฒ์งธ argument๋ ๋ค๊ฐ ์คํํ๊ณ ์ ํ๋ function์ด๋ค ๋๋ฒ์งธ argument๋ ํธ์ถ๋๋ function๊ฐ๊ฒฉ์ ๋ช ms(mileseconds) ๋ก ํ ์ง ์ด๋ค. setInterval(syhello, 5000) ๋งค 5000ms ๋ง๋ค ํธ์ถ ์ฆ 5์ด๋ง๋ค ํธ์ถํ๋ค. function์ ๋ช์ด๋ง๋ค ์คํํ๋ ๋ฐฉ๋ฒ (Interval) 5.1 Timeouts and Dates setTim..
![[๋์ฝ] #4 ๋ก๊ทธ์ธ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6bROV%2FbtruUnLFfyV%2FkizR6XZy1ZX8ahisTvscD0%2Fimg.png)
[๋์ฝ] #4 ๋ก๊ทธ์ธ
4.0 Input Values ๋ ์งง๊ฒ ์ฝ๋ฉํ๊ฑฐ 3์ค →2์ค ์ฒซ ๋ฒ์งธ๋ก HTML์์ form์ ์ฐพ๊ณ ์๋ค. document.getElementById๋ฅผ ํตํด์ JS๊ฐ ์ด๊ฑธ ์ฐพ์๋ค๋ฉด loginForm์ HTML ๋ด์ ์๋ element๋ผ๋ ๋ป์ด๋ค. → ์ด element๋ฅผ JS๋ก ๋๊ณ ์๋ค. 4.1 Form Submission HTML์์ฒด์ ์ผ๋ก maxlength์กฐ์ ํ ์ ์์ด์ js์์๋ ์ํด๋๋๋ค html์์ ํ ์ ์๋ ๊ฑฐ๋ html๋ก div๋ก ๋ฐ์ผ๋ฉด ์๋ก ๊ณ ์นจํด๋ ๋๊ฐ์ด ์ ์ง๊ฐ ๋๋ div ๋์ form์ผ๋ก ๋ฐ์ผ๋ฉด ์๋์ผ๋ก ์๋ก๊ณ ์นจ ๋์ด ์์ด์ง๋ค form์ ์๋ก ๊ณ ์นจ๋๋ ์ด์ ๋form์ด submit๋๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด ์๊ฐ์ ์ฐ๋ฆฌ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ก๊ณ ์นจํ์ง ์๊ณ user ์ ๋ณด๋ฅผ ์ ์ฅํ๋๋ก ํ๊ณ ์ถ์๊ฑฐ๋ค..
![[๋์ฝ] #3 JAVASCRIPT ON THE BROWSER](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FO3bSe%2FbtruRMZuEzO%2Fz3i6ZKKxGZMF96XkxAsz20%2Fimg.png)
[๋์ฝ] #3 JAVASCRIPT ON THE BROWSER
javascript๊ฐ ์ด๋ป๊ฒ HTML๊ณผ ์ํธ์์ฉํ๋์ง๋ฅผ ๋ฐฐ์ฐ๊ฒ ๋๋ค 3.0 The Document Object HTML์ ์ ์ฐฉ์ ๊ฐ์๊ฑฐ๋ค. JavaScript๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋, HTML๊ณผ ์ํธ์์ฉํ๊ธฐ ์ํด์ ์ฆ HTML์ Element๋ค์ JavaScript๋ฅผ ํตํด ๋ณ๊ฒฝํ๊ณ ์ฝ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. document๋ ๋ธ๋ผ์ฐ์ ์ ์ด๋ฏธ ์กด์ฌํ๋ object์ด๋ค. HTML ์ฝ๋๋ฅผ JavaScript๊ด์ ์ ํตํด์ ๋ณด๊ณ ์๋ค. document์ object์ property๋ค์ ์์๋ณด๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ๋ค. ์กด๋ ์ฝ๋ค JavsScipt๋ ์ด๋ฏธ HTML๊ณผ ์ด๋ฏธ ์ฐ๊ฒฐ๋์ด์๋ค. console.dir(document) -> object์ ๋ชจ๋ property๋ค์ ๋ณผ ์ ์๋ค. JavaScript๋ก HTML์ ๋ณ๊ฒฝํ๋ค...
![[๋์ฝ]#2 WELCOME TO JAVASCRIPT](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqQjAM%2FbtruWiXe6PN%2FLS4w0D1FiqVUYyudM9YuA1%2Fimg.png)
[๋์ฝ]#2 WELCOME TO JAVASCRIPT
javascript 2.1 ๋๊ฐ์ง ๋ฐ์ดํฐ ํ์ ๊ฐ 2+2 ๋ฌธ์์ด “hi”+”hello” 2.2 ๋ณ์ ๊ฒ์ผ๋ฅด๊ฒ ์ฝ๋ฉ ํ๊ฒ ๋ง๋ค๊ธฐ ์ํด์ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ค console.log(5+2) console.log(a+b) ์ถ๋ ฅ const a = 5 ; (๋ณ์ ์ ์ธ) ๋ฐ๋์ง์์ python ๋ณ์ ์ ์ธ ๋ฐฉ์ very_Long js veryLongVariable ์ด๋ฐ์ 2.3 const and let ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์ ์ ์ธํ๋ ๋ฐฉ์์ ๋๊ฐ์ง๊ฐ ์๋ค. const๋ constant(์์)๋ผ๋ ๊ฒ์ด๊ณ constant๋ ๊ฐ์ด ๋ฐ๋ ์ ์๋ค. let์ ์ ์ธํ๊ณ ๋ฐ์๊ฐ์ ๋ค์ ์ ์ธํ๋ฉด์ ๊ฐ์ด ๋ฐ๋ ์ ์์ ex> let myName = “gigi” (letx)๊ฐ๋ฅ myName = “ncicj” ๋ฐ๋ ์ ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก con..