2016-12-29 3 views
1
function myTimer() { 
    return new Date().toLocaleTimeString(); 
} 

setInterval(function(){ myTimer() }, 1000); 

왜 myTimer가 혼자 호출되면 예상대로 문자열을 반환하지만 setInterval을 통해 호출 할 때 정수를 반환합니다.setinterval이 정수 (초보자)를 가져 오는 이유

+0

가 ['clearInterval']과의 간격 (https://developer.mozilla.org/en-US/를 중지 docs/Web/API/WindowTimers/clearInterval). – Teemu

+3

그것은 정수를 반환하는'setInterval'입니다 ... setInterval/setTimeout에서 호출 된 함수에서 값을 반환하는 것은 반환 값에 액세스 할 수 없기 때문에 무의미한 연습입니다. –

+1

상세하게 살펴보면 setInterval은 일종의 'id' 그래서 당신은 나중에 그것을 지울 수 있습니다. myTimer의 반환 값은 시간 제한에 의해 삼켜진다. 따라서 두 수익은 서로 밀접한 관련이 있습니다. 새 Date는 setInterval fn 내의 범위 내에있을뿐입니다. – Shilly

답변

2

반환 된 timeoutID는 setInterval() 호출로 생성 된 타이머를 식별하는 숫자가 아닌 숫자 값입니다. 이 값은 Window.clearInterval()에 전달되어 타임 아웃을 취소 할 수 있습니다.

세부 사항 : 당신은 그 정수와 간격을 인식하고 사용할 수 있습니다 https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval