본문으로 바로가기

[JS] Javascript 기초정리2

category Dev/Javascript 2018. 5. 22. 18:12



Dom

브라우저에서는 HTML코드를 DOM(Document Object Model)이라는 객체 형태의 모델로 저장




- getElementById() : ID 정보를 통해찾을 수 있음

1
document.getElementById("select_id");
cs


- querySelector() : DOM을 찾는데 유용한 selector

1
document.querySelector("#select_id");
cs


Event

브라우저에서는 수많은 이벤트들이 발생함

다시말해, HTML 엘리먼트별로 어떤 이벤트가 발생했을 때 특정 행위를 하고싶다면, 대상 Element를 찾고 어떤 Event를 등록하면된다!!


1
2
3
4
5
6
7
8
var el = document.querySelector(".outside");
 
 
el.addEventListener("click",function(e){
  var target = e.target;
  console.log(target.className, target.nodeName);
  console.log(target.innerText);
})
cs


Ajax 통신 (XMLHTTPRequest 통신)

웹에 데이터를 갱신할 때, 브라우저 새로고침 없이 서버로부터 데이터를 받는 기술

새로고침없이 원하는 데이터를 서버로부터 받을 수 있다.


# JSON : 표준적인 데이터 포맷을 결정하기 위해서 주로 JSON(Javascript Object Notation) 포맷을 사용


1
2
3
4
5
6
7
8
9
10
11
12
function ajax(data) {
  var oReq = new XMLHttpRequest();
 
 
  oReq.addEventListener("load",function(){
    console.log(this.responseText);
  })
 
 
  oReq.open("GET","http://www.example.org/param?data=data"// Parameter를 붙여 보낼수 있음
  oReq.send();
}
cs


- XMLHttpRequest 객체를 생성해서, open 메소드로 요청을 준비하고, send 메소드로 서버에 보냄

- 요청처리가 완료되면 (서버에서 응답이 오면) load Event가 발생하고 콜백함수가 실행됨

- 콜백함수가 실행될 때는 이미 ajax함수는 반환하고 callStack에서 사라진 상태

- 즉, 비동기 로직!!



'Dev > Javascript' 카테고리의 다른 글

[JS] 생성자 패턴  (0) 2018.09.03
[JS] Handlebar 템플릿 라이브러리  (0) 2018.08.22
[JS] DOM 심화  (1) 2018.07.11
[JS] Javascript 배열, 객체  (0) 2018.07.10
[JS] Javascript 기초정리1  (1) 2018.05.22