-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
미해결
pointALL 부분 for문 질문
21.04.14 13:34 작성 조회수 118
0
for( var i = 0; i < pointBtnAll.length; i++ ){
(function(idx) {
pointBtnAll[idx].onclick = function() {
// alert(idx);
pageNum = idx;
pageChangeFunc();
}
})(i); <<이부분 여기 i가 무슨 의미인가요?
}
답변을 작성해보세요.
1
코딩일레븐
지식공유자2021.04.14
버튼의 index 값을 가져오기 위한 즉시 실행 함수입니다. 위, 아래 괄호는 정해져 있는 문법입니다. 마지막 () 괄호가 없다면 즉시 실행 함수가 아닌 것이지요. 크게보면 괄호가 두 개죠. (함수)();
즉시 실행 함수에 대한 공식적인 설명은 아래를 참고해주세요.
https://developer.mozilla.org/ko/docs/Glossary/IIFE
function 처럼 실행을 따로 시켜주지 않아도 즉시 실행되는겁니다. for문을 돌면서 원하는 넘버가 아닌 마지막 i값을 반환해줘서 저렇게 감싸서 i값을 지켜준겁니다.
다른 방법은 이런 게 있습니다.
각 버튼에 idx속성을 추가한 뒤 i 값을 넣어주고 클릭시마다 this.idx를 가져오는 방법
for (var i = 0; i < pointBtnAll.length; i++) {
pointBtnAll[i].idx = i;
pointBtnAll[i].onclick = function () {
console.log(this.idx);
}
}
답변 1