• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

질문있습니다~

21.03.23 14:24 작성 조회수 58

0

두가지 질문이 있습니다~

 첫번째는
  let curser_item; 을 밖으로 빼줄때
 document.getElementsByClassName("curser_item")[0];
 도 같이 빼주지않는 이유가 있을까요?

let curser_item = 0; 이라고 안넣는 이유는 무엇인가요?

두번째 질문은
document.querySelector(selectors);를 쓰면 [0] 배열을 안써도 되나요?

답변 1

답변을 작성해보세요.

0

안녕하세요

window 그러니까 페이지가 로드 된 후에 미리 선언해 둔 curser_item 에 담는 겁니다.

질문 주신 것처럼 테스트 해보시면 작동이 안 될겁니다. 

변수 선언 시 0을 넣고 온로드 된 후 

curser_item = document.getElementsByClassName("curser_item")[0]; 이렇게 해주셔도 됩니다. 

하지만 넘버로 사용할 변수가 아니니 0을 넣을 이유가 없었던 겁니다.

그리고 나머지 넘버 변수들은 페이지(window) 로드 여부와 상관없어서 미리 0을 넣은 겁니다.

_

document.querySelector(selectors); 는 첫번째 셀렉터를 반환하니 [0]이 필요없습니다만

같은 변수명이나 태그가 여러개 있다면 

document.querySelectorAll(selectors)[0]; 이런식으로 사용합니다.