JavaScript(2)

최지홍·2022년 3월 10일
0

매일 공부

목록 보기
24/40

Window 객체

  • 웹 브라우저에서 작동하는 최상위 객체
  • 브라우저와 관련된 여러 객체와 속성, 함수가 존재하며, 기본 제공 프로퍼티도 포함된다.
  • BOM(Browser Object Model)으로 불리기도 한다.
  • alert(): 알림창 띄우기
  • confirm(): 확인 / 취소 선택창 띄우기
  • prompt(): 입력창 띄우기
  • navigator 객체
    • 브라우저의 정보 내장
    • 서로 다른 브라우저를 구분할 수 있음
  • location 객체
    • 현재 페이지 주소(URL)와 관련된 정보를 알 수 있음
    • location.href: 값을 할당하지 않으면 현재 URL을 조회, 값을 할당하면 이동
    • location.reload(): 새로고침
  • history 객체
    • history.back(): 뒤로가기
    • history.forward(): 앞으로 가기
  • open(): 새 창 열기
    • window.open(URL, 창 이름, 특성, 덮어쓸지 여부)
  • close(): 창 닫기
  • opener 속성: 부모 창 컨트롤 가능
  • setTimeout(): 지정한 밀리초 시간이 흐른 후에 함수 호출
  • setInterval(): 지정한 밀리초 주기마다 함수 호출 반복
  • clearInterval(): setInterval 함수 정지

DOM

  • DOM(Document Object Model): HTML과 XML 문서의 구조를 정의하는 API 제공
  • 문서 요소 집합을 트리 형태의 계층 구조로 표현
  • HTML 계층 구조의 제일 위에는 document 노드 존재

문서 객체 만들기

  • 텍스트 노드를 따로 만들어야한다.
  • createElement(태그이름): element node 생성
  • createTextNode(텍스트 내용): text node 생성
  • appendChild(노드): 객체에 노드를 자식으로 추가
  • setAttribute(name, value): 속성 설정
  • getAttribute(name): 속성 가져오기
  • innerHTML: 문자열을 HTML 태그로 삽입(HTML 마크업 인식)
  • innerText: 문자열을 text node로 삽입(문자열 그대로 인식)
  • removeChild(자식 노드): 객체의 자식 노드 제거

Event

  • 마우스, 키보드 등에서 다양한 이벤트가 발생
  • js를 이용하여 DOM에서 발생하는 이벤트를 감지하여 상황에 맞는 작업을 수행할 수 있다.
  • 이벤트 핸들러(Handler) 혹은 이벤트 리스너(Listener) 함수에 이벤트 발생시 수행할 코드 작성
  • Frame 이벤트
    • onload: 문서의 모든 요소가 다 로딩되었을 때 발생

Handler 등록

  • 인라인 이벤트 핸들러: HTML 요소의 내부에 직접 등록
  • 프로퍼티 방식: js에서 이벤트 핸들러 등록 → HTML 코드와 js 코드의 분리가 가능 → 하나의 이벤트 핸들러만 바인딩 할 수 있음
  • addEventLister 메서드 방식: addEventListener(이벤트 이름, 이벤트 핸들러, 캡처링 여부)

Web Storage

  • WebStorage API: LocalStorage
  • 데이터를 사용자 로컬에 보존하는 방식
  • 저장, 덮어쓰기, 삭제 등 가능
  • js로만 조작
  • Cookie와의 차이는 유효 기간이 없고 영구적 이용이 가능하며 5MB까지 사용이 가능하다.
  • 또한, 네트워크 요청 시 서버로 전송되지 않으며 서버가 내용을 조작할 수 없다.
  • origin(프로토콜, 도메인, 포트)이 다르면 접근할 수 없다.
  • Key와 Value를 하나의 세트로 저장하며 도메인과 브라우저별로 저장된다.
  • setItem(key, value): 값 저장
  • getItem(key): 값 리턴
  • removeItem(key): key에 해당하는 값 삭제
  • clear(): 모든 값 삭제
  • key(index): index에 해당하는 key 리턴
  • length: 저장된 항목의 개수
profile
백엔드 개발자가 되자!

0개의 댓글