intervals은 매번 일어나야 하는 무언가
setInterval 함수는 두 개의 인자를 받는다.
첫 번째 인자는 실행하고자 하는 function, 두 번째 인자는 호출 간격를 몇 ms로 할지를 적는다.
이렇게 설정하면

처음에는 아무것도 뜨지 않았다가 5초가 지나면 함수가 실행되어 콘솔에 hello가 출력되고, 5초가 지날 때마다 함수가 반복되어 실행되기 때문에 옆의 숫자가 증가되는 것을 볼 수 있다.
setTimeout 함수도 마찬가지로 두 개의 인자를 받는데, 이 함수는 어떤 함수를 나중에 실행시키고 싶을 때 사용한다.
이렇게 작성하면 5초 뒤에 콘솔 창에 hello라는 글자가 나타날 것이다.
new Date()는 오늘 날짜를 가져온다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Date
date관련 메소드 등등 (MDN)

등등등의 속성이 있다
(getDay는 0부터 일요일~~6 토요일이다.)
이런 식으로 코드를 작성해 주면

이렇게 매 초마다(1000ms) 콘솔에 시간이 출력되는 것을 볼 수 있다.
문제점: (1) 1초를 기다려야 시간이 뜬다. (2) 1의자리 단위 시간이 생기면 00,01,02...가 아닌 0,1,2...로 뜬다.
문제점 2를 해결하기 위해 함수를 일단 먼저 호출해준다.
문제점1은 이것을 해결하기 위해 이미 padStart()라는 함수가 존재한다.

위 코드를 해석하면 , 글자의 길이가 2보다 작으면 앞에 0를 추가하라는 뜻이다.
padEnd()라는 함수도 있는데, 이것은 반대로 뒤에다가 추가하는 것이다.
이렇게 작성해 주면 문제점이 해결되었다.
주의할 점은 문자열로 변환시켜야 한다.
랜덤 명언
일단 이런 식으로 명언을 담은 배열을 만든다. (내용이 길어서 일부만 잘라 왔다)
그리고 명언을 담을 태그들을 html 문서 내부에 적는다.
명언이 나올 span과 작가 이름이 나올 span을 변수에 저장
랜덤하게 명언이 나올 수 있도록 Math.random을 사용. 랜덤 메소드는 0과 1사이의 랜덤한 숫자가 나오기 때문에 명언 배열의 길이만큼 곱해줘야 한다. 또 소수점이 나오지 않도록 Math.floor를 이용하여 내림해준다. 내림해주면 0부터 마지막 요소 인덱스까지 랜덤한 숫자가 나올 것이다.
그리고 각각 innerText로 텍스트가 나오도록 설정
랜덤 배경
위랑 똑같이 이런 식으로 이미지 제목이 담긴 배열을 만들어준다.
이미지를 랜덤으로 선택하는 방법도 위랑 똑같다.
이번에는 createElement()를 이용할 것이다
createElement를 이용하여 img이라는 html 요소를 만들어낸다
그리고 scr를 설정한다. (img폴더/파일이름)
이제 이것을 body 태그에 추가해야 하는데, 이때는 appendChild()를 이용한다.
이와 같이 입력한다. (append는 가장 뒤, prepend는 가장 위에 오게 한다. append를 썼으니 img 요소가 html 가장 뒤에 올 것이다.)
| 코딩일기: 노마드 코더로 공부 6일차 (0) | 2023.06.20 |
|---|---|
| 코딩일기: 노마드 코더로 공부 5일차 (0) | 2023.06.19 |
| 코딩일기: 노마드 코더로 공부 3일차 (0) | 2023.06.15 |
| 코딩일기: 노마드 코더로 공부 2일차 (0) | 2023.06.14 |
| 코딩일기: 노마드 코더로 공부 1일차 (0) | 2023.06.14 |