자바시작 0901
106
2020-10-17 18:15:00
1
159

setInterval 함수


 interval=setInterval(function() {

box.style.left=loc+'px';

loc+=30;

if(loc>=1000)

loc=10;

}, 200);

setInterval 함수는 일정한 시간간격으로 작업을 수행하는 함수로 알고있는데요. box의 스타일의 왼쪽이 loc라는 변수와 px(픽셀)을 더한다? loc+30=loc 라하면 1000보다 작은거아닌가요? 또 loc의 변수가 10이라하고 200은 0.2초를 말하고 정리가안되네요 ㅠ 도와주세요..

0
  • 답변 1

  • zepinos
    20k
    2020-10-18 01:23:30

    아래 var loc 의 의미를 물어본 질문글과 같이 생각해보면...


    심각하게 기초 지식이 없는 것 같습니다. 다른 사람이 작성한 코드를 분석하기 이전에 기초 지식부터 좀 쌓으셔야 합니다. 답을 설명해도 도움이 전혀 안될 것 같습니다.


    1. 프로그래밍에서 loc + 30 = loc 이라는 개념은 없습니다. 반대로 loc = loc + 30 (줄여서 loc += 30) 이라는 개념이 있습니다. 비교가 아니라 대입입니다. loc 값에 30을 더해서 loc 으로 다시 정의하는 것입니다. 원래 loc 이 380 이라면,

    var loc = 380;

    loc += 30; <- 이 때 380 + 30 인 410 이 loc 에 대입(저장)되면서 loc 은 410 으로 변하게 됩니다.

    기본적인 변수나 대입 등의 개념이 없기 때문에...다음의 interval 의 두번째 매개변수에 대한 설명을 하는게 의미가 있나 싶네요.

    2. setInterval 의 두번째 매개변수는 microsecond 형태로 입력받습니다. 즉, 200 이라고 입력되는 값은 200 microsecond 이고, 1 second 는 1000 microsecond, 반대로 1 microsecond 는 0.001 이므로 200 microsecond 는 0.2 second 입니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.