-
[Javascript]타이머 만들기 - setInterval 사용언어/Javascript 2023. 6. 8. 14:28
정답 : time이 const(상수)로 선언될 경우 에러발생함 !!
let time = 180 setInterval(function(){ let min = Math.floor(time/60) let sec = String(time%60).padStart(2,'0') if(time>=0){ console.log(min +":"+ sec) time = time-1 } }, 1000)
내가 했던거
let time = 180 setInterval(function(){ if(time>=0){ console.log(Math.floor(time/60)+":"+time%60) time = time-1 } }, 1000)
이럴 경우 문제 :
1) 시간 시작시점이 '3:00' 여야하는데 '3:0'에서 시작한다.
>> padStart(길이, x) 사용
자바스크립트 padStart함수 : 해당 문자열의 길이를 주고, 해당 길이를 만족하지 않는다면 좌측에서부터 x값으로 그 길이를 채워넣는다.
2) 리팩토링
3) 주의할점
time이 const(상수)로 선언될 경우 에러발생함 !!
10초에서 0초 만들기
let time=10 setInterval(function(){ if(time >=0){ console.log(time) time = time-1 } }, 1000)
오답/ 헤매던 방법 : 반복문을 사용해서 그 안에 setInterval을 사용하려고 했었음
for(let i=10; i>=0; i--){ setInterval(function(){ console.log(i) }, 1000) }
이렇게 할 경우 10초에 한번씩 10~0이 모두 출력되었다.
반응형'언어 > Javascript' 카테고리의 다른 글
[자바스크립트]setInterval 함수() 와 setInterval 함수의 차이 (javascript 함수 괄호()유무) (0) 2023.06.14 innerHTML vs innerText vs textContent (0) 2023.06.13 [Javascript]<script>태그의 위치, 위? 아래? / <head>안 혹은 <body>안? (0) 2023.06.12 QuerySelector VS getElementbyID 차이 (0) 2023.06.12 [HTML/CSS] div 화면 우측정렬 / 전화번호 input 가운데 정렬 (0) 2023.06.09