• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

function(event){filter(event)} 질문입니다

22.07.31 13:02 작성 조회수 185

0

4분 40초쯤 

for(let i = 1; i < tabs.length; i++) {
    tabs[i].addEventListener("click", function(event){filter(event)})
}
이 문장에서 클릭했을때 실행하는 함수로 filter함수를 event매개변수와 함께 실행시키는건 알겠는데 구문이 왜 function(event){filter(event)}와 같이 입력하는지 모르겠습니다. event를 두번적는 이유도 모르겠구요.. ㅠ

답변 1

답변을 작성해보세요.

1

아! addeventlistener가 어떻게 동작을 하냐면 

이벤트가 발생을 했을때 두번째 매개변수로 전달된 함수를 호출을 하는데 

그냥 호출하는게 아닌 event 를 매개변수로 같이 넘겨줍니다 

그래서 function (event){} 가 되는거고 

저희는 이 event를 받아서 filter 함수에 넘겨줘야합니다 그래서 안에 filter하고 매개변수로 다시 (event)를 전달해준겁니다!