[javascript] setInterval함수에서 딜레이 시간이 3000과 1000*3의 차이가 뭔가요??
본문
일을 하다가 코드에 setInterval(function(){ .... },1000*3); 이렇게 되있더라구요.
그래서 왜 3000으로 안쓰지 싶어서 구글에 찾아봤더니 딱히 저렇게 쓰는 예제를 못찾겠었습니다.
그리고 크롬 콘솔로 찍어보니
3000은 3초에 한번 돌아가고
1000*3은 3초에 두번 돌아가더라구요.
그냥 1000*3으로 쓰면 3초에 두번 돌아가는 이유가 뭘까요?
혹시 아시는분 계시면 답변 부탁드려요 ㅠㅠ 궁금해 죽겠네요 ㅠ
답변 2
서로 같습니다. 두번 돌아가는 것은 잘 못 본 게 아닌가 싶습니다.
3000 을 쓰지 않고,
1000 * 3 으로 쓰는 것은,
3초라는 의미의 코드의 가독성을 높이려는 이유 때문일 거에요.
가령, 하루를 초로 변환하면 86400 인데,
이를 60 * 60 * 24 로 쓰는 경우도 많이 있습니다.
두번 돌아간게 아니라 아마 새로고침 하는 과정에서 clearInteval 이 안되서 이전 코드가 동작한것으로 보입니다.
화성회사 말씀처럼 가독성을 위한것 말곤 다르면 안되지요 ^^
혹시 또 사이드 이펙트가 있나 해서 찾아봤지만 전혀 그런거 없던데요 ㅋ
답변을 작성하시기 전에 로그인 해주세요.