8장 startTime=new Date()의 라인 위치에 따라 값이 달라집니다
283
작성한 질문수 2
강의를 듣다가 이해되지 않는 부분이 생겨 질문드립니다.
$screen.addEventListener('click', (event) => {
if (event.target.classList.contains('waiting')) {
event.target.classList.replace('waiting','ready');
event.target.textContent='초록색이 나오면 클릭하세요';
setTimeout(function(){
event.target.classList.replace('ready','now');
evnet.target.textContent='클릭하세요!';
startTime=new Date(); //startTime===undefined
},Math.floor(Math.random()*1000)+2000);
} else if (event.target.classList.contains('ready')) {
alert('너무 빨리 클릭했습니다.');
event.target.classList.replace('ready','waiting');
event.target.textContent='클릭해서 시작하세요';
} else if (event.target.classList.contains('now')) {
//끝 시간 재기
endTime=new Date();
$result.textContent=`${startTime} ms`;
event.target.classList.replace('now','waiting');
event.target.textContent='클릭해서 시작하세요';
}
});제가 작성한 반응속도 게임 만들기의 addEventListener부분입니다. 해당 코드의 변수 startTime에 Date가 할당되는 시기가 이벤트타겟의 값이 now로 변경되는 시기보다 뒤에 오게되면 undefined가 할당됩니다. 아래의 코드는 startTime의 값이 undefined가 아닌 제대로 된 날짜가 저장되도록 수정한 코드입니다.
위 코드의 startTime 이 undefined가 되는 이유를 알려주세요.
setTimeout(function(){
startTime=new Date(); //startTime===`Thu Oct 13 2022 18:13:10 GMT+0900 (한국 표준시)`
event.target.classList.replace('ready','now');
evnet.target.textContent='클릭하세요!';
},Math.floor(Math.random()*1000)+2000);
답변 1
자바스크립트 입문 강의 재생 안됨
0
98
2
쿵쿵따 조건문 질문입니다.
0
85
2
렛츠가릿 자바스트립트와 공유가 되나요
0
87
1
수강을 하기 전 공부순서에 관한 질문이 있습니다.
1
112
2
안녕하세요
0
110
2
1~45 필터링하는 코드에서 find대신 some써주는게 나을거같습니다.
1
82
2
고차 함수 작성법과 수업 진도 관련한 질문
0
95
3
break와 continue 9:55 내 continue 구문 질문
0
161
2
옵셔널 체이닝 적당한 깊이는 어느 정도인가요?
0
127
2
로또 추첨기 중 입력값을 검사할 때
0
151
2
2-14.else,else if,switch 관련 질문입니다.
0
118
2
가위바위보 이미지(rsp.png)가 안보여요
0
274
3
Math.random() 에 9을 곱하는 이유
0
183
4
클로저 관련해서 질문있습니다.
1
196
2
유튜브 댓글 보고 왔습니다!- 퀴즈 중복된 숫자 검사 for 문
0
249
1
event.target.textContent관련 질문
0
284
2
객체 참조 관련 질문
0
186
1
-2+ -2 = -4 음수 더하기 음수 - 셀프체크 계산기
0
495
1
별찍기 마름모 문제입니다.
0
360
2
숙제 질문
0
227
1
5강 async/await으로 가독성 높이기에서
0
240
1
야구게임 관련 질문입니다
0
192
1
쿵쿵따, 계산기에서 변수 선언
0
184
1
지뢰 힌트 사라짐(대괄호)
0
172
1





