• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

값이 크게 달라지는 것은 아니지만 궁금해서요!

20.06.25 10:05 작성 조회수 151

0

제가 그대로 따라했는데도 선생님과 return값이 달라서... 그런데 왜그런지 알 수 있을까요? 저는 리턴값이 2라고 뜨는데 선생님은 1이라고 떠서요. 크게 문제는 될거라고 생각하지 않지만 괜히 찝찝해서... 질문드려요!!

let timeId;
const btn = document.querySelector('.btn')

function sample() {
console.log('sample!')
}
timeId = setTimeout(sample, 3000); // 3초뒤에 문구가 뜨게 된다. timeId에 그 결과 값(return)이 저장된다.

console.log(timeId);

// clearTimeout(timeId); //이건 실행이 안되게 취소시켜버린다.

btn.addEventListener('click', function() {
clearTimeout(timeId);

답변 1

답변을 작성해보세요.

0

준석님 코드를 복사해서 사용해도 저는 1이 뜨는데..희한하네요^^;
규칙상 '0이 아닌값'을 리턴하게 되어있기때문에,
0을 리턴하는게 아니라면 동작에 영항을 미치는 요소는 아닌데요, 저도 궁금하네요 무슨 상황인지^^;
혹시 저 코드 외에 윗부분에 timeId = setInterval(sample, 3000);를 했다든지 하셨을까요?
setInterval과 setTimeout이 같은 id 공간을 공유해서 값이 누적될 가능성도 있거든요.