[JS] DOM / BOM

반응형

DOM

01) DOM이란?

  • Document Object Model 문서 객체 모델
  • 스크립트 언어로 html 요소를 제어할 수 있도록 웹 문서를 객체화한 것
  • 브라우저에서 자바 스크립트로 html 요소를 제어할 수 있도록 제공하는 api
  • DOM은 트리(Tree) 구조를 가지고 있음

02) DOM의 트리 구조

  • 노드 : 트리 구조 안 각각의 요소
  • document : 웹 문서 영역을 제어할 수 있게 제공하는 객체로, 웹 페이지 자체이자 돔 트리의 최상위 노드
  • document.getRootNode() : 최상위 노드인 '#document'를 반환함

03) 그 외 Object Model

  • CSS Object Model : css를 Javascript로 조작할 수 있도록 한 것

 

BOM

01) BOM이란?

  • Browser Object Model 브라우저 객체 모델
  • 브라우저를 스크립트 언어로 제어할 수 있도록 모델링한 것
  • 브라우저를 제어하기 위한 인터페이스

02) BOM 종류

  • window : 모든 객체가 소속된 객체이며, 브라우저 창 자체를 의미로 생략이 가능함
    window.alert('Hello!'); alert('Hello!'); // window를 생략 가능
  • document : 현재 문서에 대한 정보를 갖고 있는 객체
    document.querySelector('#id').textContent = 'id의 텍스트 변경';
  • history : 현재의 브라우저가 접근했던 URL history를 제어 (ex. 뒤로가기 버튼)
    history.back(); // 뒤로 가기 history.forward(); // 앞으로 가기
  • location : window 객체의 프로퍼티인 동시에 document의 프로퍼티로, 문서 URL 변경 및 위치와 관련한 정보를 얻을 수 있음
    // window, document 둘 다 사용 가능 window.location document.location // 웹 문서 정보 가져오기 location.host // 웹 문서 주소 변경 location.href = '변경할 주소 입력'
  • screen : 사용자의 디스플레이 화면에 대한 정보를 가지고 있는 객체
    // 현재 디스플레이 정보 console.dir(screen)
  • navigator : 실행 중인 애플리케이션에 대한 정보를 알 수 있음
    // 현재 애플리케이션에 대한 위치 정보 navigator.geolocation.getCurrentPosition() // 앱(브라우저) 이름 navigator.appName // 앱(브라우저) 버전 정보 navigator.appVersion // 서버에 요청할 때 앱(브라우저)에 대한 정보 navigator.userAgent

 

더보기

console.log : 텍스트를 효율적으로 출력할 수 있음

console.dir : 객체를 효율적으로 출력할 수 있음

반응형

댓글