[javascript] setInterval 함수의 매개 변수 전달

using이라는 함수에 매개 변수를 전달하는 방법을 알려주십시오 setInterval.

내 예가 setInterval(funca(10,3), 500);잘못되었습니다.



답변

실제 함수가 즉시 실행되지 않도록 익명 함수를 작성해야합니다.

setInterval( function() { funca(10,3); }, 500 );


답변

이제 ES5에서는 bind 메소드 Function prototype :

setInterval(funca.bind(null,10,3),500);

여기 참조


답변

매개 변수로 설정하여 setInterval에 추가하십시오.

setInterval(funca, 500, 10, 3);

질문의 구문은 eval을 사용하므로 권장되지 않습니다.


답변

매개 변수가 아닌 함수 객체의 속성으로 매개 변수를 전달할 수 있습니다.

var f = this.someFunction;  //use 'this' if called from class
f.parameter1 = obj;
f.parameter2 = this;
f.parameter3 = whatever;
setInterval(f, 1000);

그런 다음 기능 someFunction에서 매개 변수에 액세스 할 수 있습니다. 이것은 범위가 전역 공간으로 자동 이동하고 setInterval이라는 클래스에 대한 참조를 잃는 클래스 내에서 특히 유용합니다. 이 방법을 사용하면 위의 예에서 “someFunction”의 “parameter2″에 올바른 범위가 있습니다.


답변

     setInterval(function(a,b,c){

          console.log(a + b +c);  

      }, 500, 1,2,3);

           //note the console will  print 6
          //here we are passing 1,2,3 for a,b,c arguments
         // tested in node v 8.11 and chrome 69


답변

익명 함수를 사용할 수 있습니다.

setInterval(function() { funca(10,3); },500);


답변

setInterval(function,milliseconds,param1,param2,...)

업데이트 : 2018- “확산”연산자 사용

function repeater(param1, param2, param3){
   alert(param1);
   alert(param2);
   alert(param3);
}

let input = [1,2,3];
setInterval(repeater,3000,...input);


댓글 달기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다