# 배운 내용
- This
- Window(브라우저 내장객체)
- DOM
- AJAX
- JQuery
1. This
This는?
함수 내에서 함수 호출 맥락(context)
This 예제
This 예제 1
- 전역변수를 10, 함수 내 this는 20, data는 30으로 선언되어있다.
- 함수 내 this는 전역변수를 가르키므로 20이 되고 그 20은 data가 30으로 변환되어 세 값은 각각 30이 된다.
This 예제 2
- 전역변수는 10, Myclass this는 0, prototype의 this는 20, data는 30이다.
- 먼저 Myclass의 함수는 new 연산자로 생성한 것으로 보아 생성자 함수라는 것을 알 수 있다. 그래서 전역변수와는 관계가 없다.
- prototype은 Myclass를 참조하기 때문에 Myclass의 This값을 20으로 바꾼다.
- 그리고 data값은 전역변수를 바꾸기 때문에 30으로 변한다.
This 예제 3
- 전역변수는 10, window.onload 함수의 this는 20, data는 30이다.
- 이벤트 핸들러에서의 this는 이벤트 대상의 값을 나타낸다.
때문에 전역변수와는 관련이 없어 20 그대로 유지된다. - data는 전역변수의 값을 바꿔 30이 된다.
This 예제 4
- 각 변수별 기존 data의 값에 대한 변수값을 선언한다.
- func 함수에 this.data를 통하여 전역변수를 console에 나타낸다.
- .call(변수이름)을 통하여 this에 대한 값을 바꿔서 출력할 수 있다.
2. Window(브라우저 내장객체)
Window는?
JavaScript 브라우저 내장 객체의 최상위 객체로서 전체 윈도우에 적용될 내용들을 가지고 있다.
Window 객체의 속성
Window 객체의 속성
Window 객체의 메소드
메소드 1
메소드 2
Window 예제
Window 예제
- input에 대한 button을 생성하고 주소를 검색하기 위하여 함수를 생성하여 open 내부함수를 선언한다. open()은 새로운 윈도우를 띄울 때 사용한다.
Window 예제
- ul, li로 각 주소값을 입력하고 window.onload로 함수를 선언한다.
- 여기서 getElementsByTagName(‘a’)로 <a> 태그를 불러올 수 있다. 이 함수는 배열을 링크시킨다.
- 배열에 있는 a에 대한 값들을 for문으로 출력하고 onclick으로 이벤트를 만들어주고
window.opener를 통하여 fmt.addr.value를 불러내서 this.innerHTML을 가져온다.
3. DOM
dom은?
객체지향 모델로서 구조화된 문서를 표현하는 형식이다.
DOM 인터페이스
인터페이스 1
인터페이스 2
- 객체 접근방법
document.getElementById(“id”); → id로 객체 접근
document.getElementByTagName(“tagName”); → tagName으로 객체 접근
DOM 예제
DOM 예제 1
- ul, li문으로 각 이미지를 이벤트를 건다. 이 때 this는 이벤트 대상을 가르키므로 <a>를 가르키게 된다.
- 대상 함수를 생성하고 이벤트인 obj를 함께 선언한다.
- getAttribute()는 속성 값을 가져올 때 사용하는 것으로 herf를 가져와서 이미지 파일을 가져온다.
- placeholder id값을 getElementId(“placeholder”)로 가져온다.
- setAttribute()는 속성 값을 수정할 때 사용하는 것으로 src를 source로 바꾸기 위하여 사용한다.
- 사진이 바뀔 때마다 title을 출력하기 위해서 description의 태그에 접근하여 des.innerHTML로 obj.title을 넣는다면 출력이 될 것이다.
4. AJAX(Asynchronous Javascript And XML)
AJAX은?
비동기적인 웹 애플리케이션의 제작을 위해 아래와 같은 조합을 이용하는 웹 개발 기법이다.
비동기식과 동기식의 차이점
- 비동기식 : 서버가 요청한 일에 대해 기다리지 않고 다른 작업을 하는 것
- 동기식 : 서버에 요청한 일의 응답을 기다리고 다음 작업을 하는 것
비동기식의 장점
- 페이지를 리로딩 하지 않는다.
- 한 페이지에서 모든 일을 한다.
AJAX의 동작 순서
- Event로부터 시작된다.
- XMLHttpRequest객체를 생성한다.(서버와 통신을 하기 위함)
- 웹서버에 요청을 전송한다.
- 응답 데이터 타입의 형식을 구분한다.
- 서버로부터 응답을 받을 콜백함수를 지정한다.
5. JQuery
JQuery는?
JavaScript의 라이브러리이며 DOM스크립팅과 Ajax의 복잡성을 쉽게 다룰 수 있도록 해준다.
JQuery의 특징
- 코드가 직관적이다.
- 다양한 애니메이션 효과를 활용할 수 있다.
셀렉터의 종류
셀렉터 종류
- $(“p a.specialClass”) //p태그 자손중 specialClass명을 가진 a태그들을 말한다.
- 집합(그룹)으로 잡힌다.
기본 함수
기본 함수 예시
- 위의 함수를 ‘팩토리’ 함수라고 하고 JQuery 객체를 생성하는 함수이다.
- 주어의 역할을 한다.
- html();은 innerHTML과 동일한 역할을 한다.
JQuery 예제
제이쿼리 예제 1
- 함수를 실행하는데 .poem-stanza에 highlight 클래스를 넣으라는 의미이다.
- .은 클래스를 의미하고 addClass는 말그대로 클래스를 추가하는 의미이다.
제이쿼리 예제 2
- selected-plays id의 바로 아래 자손만을 horizontal 클래스를 추가한다.
- not을 통해서 제외하고 클래스 추가를 한다.
- href $=은끝나는 부분, ^=은 시작하는 부분, *=은 포함하는 것
- tr : odd로 홀수 제외 출력
- tr : nth-child(odd)를 통해 홀수 번 째만 출력
- filter는 필터링을 통해 제외
- contains(henry)는 henry를 포함한 클래스를 출력
'KOSTA' 카테고리의 다른 글
KOSTA 교육 (jQuery, Ajax, JSON, XML, JSP, get(), load(), post(), ajax(), getJSON()) (0) | 2021.03.26 |
---|---|
KOSTA 교육(JQuery, 선택자, function, array, event, style, animate, DOM) (0) | 2021.03.25 |
KOSTA 교육(내장객체, Array, String, Date, 정규표현식, 이벤트) (0) | 2021.03.19 |
KOSTA 교육 (JavaScript, 문법, 변수, 함수, 객체, Prototype) (0) | 2021.03.19 |
KOSTA 교육 (HTML5, 시맨틱 마크업, CSS, link, Font, 박스모델, 테이블&테두리 속성) (0) | 2021.03.17 |