강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

최문경님의 프로필 이미지
최문경

작성한 질문수

인터랙티브 웹 개발 제대로 시작하기

전진! 3D 스크롤 23

requsetAnimationFrame 질문입니다!

해결된 질문

작성

·

235

3

오류가 난 후에

requsetAnimationFrame(self.run(self)); 가 아니라 requsetAnimationFrame(function() {self.run(self)}; 으로 function 안에 self.run(self)를 쓰셨는데 둘의 차이점이 궁금합니다.

답변 1

1

1분코딩님의 프로필 이미지
1분코딩
지식공유자

requestAnimationFrame()의 괄호 안에는 함수 자체가 들어가야 합니다.

즉,
function foo() {

}

이런 함수가 있다고 가정하면,

requestAnimationFrame( foo() ); 가 아니라,
requestAnimationFrame( foo ); 가 되어야 하는 거죠~

foo()를 넣게되면, 함수 실행의 결과 값,
결국 foo 함수의 리턴값을 requestAnimationFrame의 인자로 넣어 호출하는 것이 되는 것이죠~

self.run(self)도 run 메서드를 호출하는 것이기때문에
requestAnimationFrame의 사용법에 맞지 않습니다^^
함수 자체를 넣으면서도 self라는 인자를 매개변수에 넣어야 하기에 익명 함수를 활용한 것이고요.

최문경님의 프로필 이미지
최문경

작성한 질문수

질문하기