• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 선생님 js 변수 질문있습니다.

선생님 js 변수 질문있습니다.

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #64750

    정중식
    참가자
    // var isOpen = false; 
    
      menuBtn.addEventListener('click', function (e) {
        var isOpen = false;
    
        if (!isOpen) {
          head.appendChild(menu);
          isOpen = true;
          console.log(isOpen);
        } else if (isOpen) {
          head.removeChild(menu);
          isOpen = false;
          console.log(isOpen);
        }
      });
    }
    
    위와같이 코드를짜고 콘솔로그로 isOpen 값을 출력했는데 계속 true만 떳습니다.
    그래서 var isOpen=false; 코드를 클릭이벤트 바깥에 선언해줬더니 잘 작동하더라구요
    어떤 현상때문에 그런건지 알고싶습니다.
    제 스스로 찾아보려고 공부를해봤는데.. 도무지 모르겠어요
    제가 여태 공부한것들 지식으로는 당연히되야하거든요? 왜냐면.. 클릭이벤트의 콜백함수지만 에로우펑션이 아니라 function 즉 함수선언문으로 작성했기때문에,
    호이스팅에 적합하다고 드는데.. 아..
    
    #64761

    codingapple
    키 마스터
    이벤트리스너 안에 넣으면 클릭시마다 false로 먼저 변하겠군요
    #64766

    정중식
    참가자
    짧고명쾌한 답변 감사합니다 
    호이스팅 이런 개념이나 생각하고있었지...그런 생각은 못했네요
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠