작성
·
146
0
안녕하세요. 강사님.
늘 질 좋은 강의 잘 듣고 있습니다.
강사님이 최대한 쉽게 설명해주심에도 궁금함이 생겨 질문합니다.
왜 pageChangeFunc를 스크롤을 내릴 때 totalNum이 적용될 수 있게 하는 for문 안에 넣어주면 작동하지 않게 되는지.
왜 pageChangeFunc를 for문 밖으로 빼줘야 하는지 궁긍합니다.
답변 2
1
chair79님이 설명해주신 내용이 맞습니다 ^^
for문 안에 pageChangFunc() 를 넣어서 테스트 해보시면 동작은 합니다.
다만 굳이 그럴 필요가 없어서 밖으로 뺀겁니다.
@chair79
스크롤시 pageChangFunc()가 무조건 실행 되는데,
그 안에서 필요한 변수인 pageNum은
for문에 의해서 바뀌고 있으니 인자를 안 받아도 괜찮습니다.
1
아 저는 강사는 아닌데요. 같이 듣는 수강생입장에서 말씀 드려보아요.
for문은 스크롤 할때마다 1 이렇게 도는게 아니라 순식간에 1,2,3,4를 돌아요. 그래서 for 문안에 있는 기능을 순식간에 한번씩 돌죠. 그래서 함수를 for문 안에 넣으면 스크롤의 매 순간마다 엄청난 횟수의 함수를 실행하는 셈인거죠. 굳이 연산을 노가다를 시켜서 점유율을 올릴 필요가 없으니까 for문은 검출기 역할로만 하고 결과 끝나면 break로 나가버리게 하는거구요. 그에 따라 도출된 pageNum 값 i를 가지고 함수를 실행하는걸로 파악됩니다. 제가 궁금한건 여기서 이때 실행된(for문 밖에서) 함수가 별도의 인자를 받아오지 않아도 for문에서 만들어진 값을 자동 적용해서 함수를 실행해 주고 있는게 신기합니다.
감사합니다(__)~!!!