책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 웹디자인/홈페이지 > HTML/JavaScript
· ISBN : 9788966261079
· 쪽수 : 508쪽
· 출판일 : 2014-03-21
목차
1부 훈련 준비
1. 닌자 입문
1.1 살펴볼 자바스크립트 라이브러리들
1.2 자바스크립트 언어 이해하기
1.3 크로스 브라우저 고려하기
1.4 현재의 훌륭한 실천법들
__훌륭한 실천법: 테스팅
__훌륭한 실천법: 성능 분석
1.5 정리
2. 테스팅과 디버깅 갖추기
2.1 코드 디버깅
2.2 테스트 생성
2.3 테스트 프레임워크
2.4 테스트 스위트의 기본
2.5 정리
2부 견습 훈련
3. 함수가 핵심이다
3.1 함수형 언어는 무엇이 다른가
__자바스크립트의 함수형 언어 특징이 왜 중요한가
__비교자를 사용하여 정렬하기
3.2 함수 선언
3.3 호출
__인자(argument)에서 함수의 매개변수(parameter)까지
__함수로 호출
__메서드로 호출
__생성자로 호출
__apply() 메서드와 call() 메서드를 사용한 호출
3.4 정리
4 . 함수를 자유자재로 휘두르기
4.1 익명 함수
4.2 재귀
__이름을 가진 함수 내에서의 재귀
__메서드를 이용한 재귀
__참조가 사라지는 문제
__이름을 가진 인라인 함수
__callee 프로퍼티
4.3 함수 객체 가지고 놀기
__함수 저장하기
__연산 결과를 기억하는 함수
__배열 메서드를 속이기
4.4 가변인자 목록
__apply() 메서드를 이용해서 가변 길이의 인자를 전달하기
__함수 오버로딩
4.5 함수인지 확인하기
4.6 정리
5. 클로저와 가까워지기
5.1 클로저는 어떻게 동작하는가
5.2 클로저로 작업하기
__Private 변수
__콜백과 타이머
5.3 함수 콘텍스트 바인딩하기
5.4 부분 적용 함수
5.5 함수 동작 오버라이딩
__메모이제이션
__함수 래핑
5.6 즉시실행함수(Immediate function)
__임시 유효 범위와 private 변수
__루프
__라이브러리 래핑
5.7 요약
6. 객체 지향과 프로토타입
6.1 인스턴스 생성과 프로토타입
__객체 인스턴스 생성
__생성자와 객체 타입
__상속과 프로토타입 체인
__HTML DOM 프로토타입
6.2 실수하기 쉬운 것들!
__객체 확장하기
__Number 객체 확장하기
__네이티브 객체의 하위 클래스 만들기
__인스턴스 생성 이슈
6.3 보다 클래스다운 코드 작성하기
__함수 직렬화 검사
__하위 클래스의 인스턴스 만들기
__상위 메서드 보존하기
6.4 정리
7. 정규 표현식에 대한 논의
7.1 정규 표현식이 멋진 이유
7.2 정규 표현식 다시 살펴보기
7.3 정규 표현식 컴파일하기
7.4 매치된 부분을 캡처하기
__간단한 캡처 실행해 보기
__전역 정규 표현식을 이용해서 일치하는 부분을 찾기
__캡처 참조하기
__캡처되지 않는 그룹
7.5 함수를 이용해서 치환하기
7.6 정규 표현식을 이용해서 일상적인 문제를 해결하기
__문자열의 공백 제거하기
__개행 문자 찾기
__유니코드
__이스케이프 문자
7.7 정리
8. 스레드와 타이머 다루기
8.1 타이머와 스레드는 어떻게 동작하는가
__타이머 생성과 제거하기
__실행 중인 스레드 내에서의 타이머 실행
__타임아웃과 인터벌의 차이점
8.2 최소 타이머 지연시간과 신뢰성
8.3 비싼 연산 처리 다루기
8.4 중앙 타이머 관리
8.5 비동기 테스팅
8.6 요약
3부 닌자 훈련
9. 닌자 비술: 런타임 코드 평가
9.1 코드 평가 메커니즘
__eval() 메서드를 사용한 평가
__Function 생성자를 사용한 평가
__타이머와 평가
__전역 유효 범위에서 평가하기
__안전한 코드 평가
9.2 함수 “디컴파일”
9.3 코드 평가를 실제로 활용하기
__JSON 변환
__네임스페이스에 속한 코드를 가져오기
__자바스크립트 압축과 난독화
__동적으로 코드를 다시 작성하기
__관점-지향 스크립트 태그
__메타언어와 DSL
9.4 정리
10. With 문
10.1 “with”를 사용한다는 것은 무슨 의미일까
__with 유효 범위 내에서 프로퍼티 참조하기
__with 내에서 할당하기
__성능에 대한 고려
10.2 실제 예제
10.3 네임스페이스에 속한 코드를 가져오기
10.4 테스팅
10.5 with를 활용해 템플릿 기능 제공하기
10.6 정리
11. 크로스 브라우저 전략 수립하기
11.1 지원할 브라우저 선택하기
11.2 다섯 가지 주요 개발 고민 사항
__브라우저 버그와 브라우저 간의 차이점
__브라우저 버그 수정
__외부 코드 그리고 마크업과 공존하기
__누락된 기능
__리그레이션
11.3 구현 전략
__안전한 크로스 브라우저 수정
__객체 탐지
__기능 시뮬레이션
__테스트 할 수 없는 브라우저 문제
11.4 가정(assumptions) 줄이기
11.5 정리
12. 속성, 프로퍼티, CSS를 단칼에 베어버리자
12.1 DOM 속성과 프로퍼티
__크로스 브라우저 이름 문제
__이름 제약사항
__XML과 HTML의 차이점
__사용자 정의 속성의 작동 방식
__성능 고려 사항
12.2 크로스 브라우저 속성 이슈
__DOM id/name 확대
__URL 정규화
__style 속성
__type 속성
__탭 인덱스 문제
__노드 이름
12.3 스타일 속성과 관련한 골칫거리들
__내 스타일은 어디에 있지
__스타일 프로퍼티 이름
__float 스타일 프로퍼티
__픽셀 값 변환
__높이와 너비 측정하기
__불투명도를 꿰뚫어 보기
__알록달록한 바퀴를 가진 자전거 타기
12.4 평가된 스타일 얻기
12.5 정리
4부 달인이 되기 위한 훈련
13. 이벤트 처리 지뢰밭에서 살아남기
13.1 이벤트 핸들러를 설정하고 해제하기
13.2 이벤트 객체
13.3 이벤트 핸들러 관리
13.4 이벤트 발생시키기
13.5 버블링과 위임(delegation)
__이벤트를 상위 엘리먼트(acenstor)에 위임하기
__브라우저의 결함 우회하기
13.6 document ready 이벤트
13.7 정리
14. DOM 다루기
14.1 DOM에 HTML 주입하기
__HTML을 DOM으로 변환하기
__문서에 삽입하기
__스크립트 실행
14.2 엘리먼트 복제하기
14.3 엘리먼트 제거하기
14.4 텍스트 콘텐츠
14.5 정리
15. CSS 셀렉터 엔진
15.1 W3C 셀렉터 API
15.2 엘리먼트를 찾기 위해 XPath 사용하기
15.3 순수 DOM 구현
__셀렉터 문자열 파싱
__엘리먼트 찾기
__찾은 엘리먼트를 필터링하기
__재귀적으로 결과 합치기
__상향식 셀렉터 엔진
15.4 정리