>> 좋아요, 오늘, 내가 이야기 할거야
자바 스크립트에 대한 방법과 그것의 다른 언어와 다른
당신은 할 수 있음 PHP를 좋아하는 데 사용됩니다.
그래서의 마지막 강좌 월요일 우리는 조금 이야기
유사한 기능에 대해, 무엇을 자바 스크립트 사이의 친숙한
그리고 PHP 나 파이썬이나 루비 또는 C 또는 다른 언어
당신은 이미 걸 잘 알고.
그러나 자바 스크립트 그것은 실제로 정말 독특한 해석이
만드는 객체 모델에 그것은 종류의 완전히 다른
대부분의 언어보다 그 당신이 처리하는 것입니다.
그래서 함수는 종류입니다
무시받는 중 자바 스크립트의 개념.
그들은 방법이 더 강력한보다 그들은 다른 언어에
그들이 할 수 있기 때문에 에 - 하나의 이유,
그들은 할 수있어 값으로 설정합니다.
그래서 여기 우리가 가지고있는 VAR X는 기능과 동일
그것은 첫 번째 클래스의 전달 될 수있는 값
인수로 주변.
그래서 당신은 필요가 없습니다 x 함수를 선언
다만 그 범위에있는 X를 사용합니다.
당신은 x의 값을 전달할 수 있습니다 어디를 통해, 당신은 알고있다,
에 인수로 다른 기능
당신은 수출을 모듈 수 다윗은 노드에서 언급 한 바와 같이.
그래서 다음 지점입니다
함수임을 자바 스크립트에서 객체.
그래서 당신은 실제로 설정할 수 값과 속성
함수에 그냥 치료 그것은 개체의 좋아한다.
그래서 당신은 작업을 할 때 jQuery를, 당신이 알고, 그 달러
다음 통과 그것으로 선택
및 함수를 호출한다.
그런데 당신도 달러는 AJAX를 점했다.
그리고 그것은하지 종류의 수행 생각하면 이해가
다만 것으로 함수 당신이 호출 할 수있는 일
또는 전화.
그러나 자바 스크립트는 당신을 허용 기능에 대한 속성을 설정
정적 속성 그냥 X 점 someProp와
거기 지적했다.
우리가하고있는 다음의 점 좀 더에 갈
깊이 사실입니다 함수는 처리 될 수있다
자바의 클래스와 같은.
그래서 개념이있다 이 새로운 연산자
새로운 인스턴스를 생성하는 정렬과 함께 기능
의 클래스와 같은 몸처럼 그것과 함께 오는
우리는 갈거야 그것으로 좀 더,
그것은 프로토 타입이라고.
그리고 차종의 무엇 매우 독특한 자바 스크립트를 비교
다른 언어에 어떤 클래스를 기반으로,
자바 스크립트를 기반으로 프로토 타입입니다.
그리고 단지에서 거기 아래쪽
기능은 호출 할 수 있습니다 우리가 사용하던 노골적으로.
그래서 새로운 아무것도 없습니다.
고유의 또 다른 한가지는
배열은 실제로 있는지 객체.
그들은 PHP에 달라요
당신은 만들 곳 새로운 배열.
이것은 실제로 속기 새 배열을 말하십시오.
그리고 배열은 실제로 객체의 하위 클래스.
그래서 뭔가 다른 내가 갈거야
조금 더에 그에 대한 세부 사항입니다.
및 디버깅 기능
자바 스크립트와 정말 타의 추종을 불허 지금까지 내가 본 것처럼.
이 스크린 샷입니다 크롬 검사기
우리는 거 야하는 나머지 사용하는
프레젠테이션 오늘.
그리고 당신은이에 도착합니다 개발자 도구를 파일로 이동
오픈 크롬 검사기 또는 당신은 마우스 오른쪽 버튼을 클릭 할 수 있습니다
및 표시 요소 I를 클릭 이 HTML 페이지에 생각
또는 나는 명령 생각 옵션 J이 열립니다.
그러나 우리는이에 가서 것 실제로 중단 점을 설정할 수 있습니다
당신은을 통해 실행중인로 자바 스크립트 코드와 종류
어떤 지역 평가 변수는 어떤 값에게 있습니다
본 건이며 그것이 만들어 코드를 디버깅하는 방법을 쉽게.
그리고 아닌데 -이 아니다 브라우저 측 코드에 구속
하지만 당신은 실제로 수 인스턴스를 실행할 수
이 크롬 검사기 서비스 측면 코드
정말 깔끔한 인 당신 때문에 줄 단위로 단계별로 실행할 수 있습니다
요청에 와서로 서버와 무슨 일이 일어나고 있는지 확인
그리고 변수 재생 여기 아래 콘솔.
내가 언급 정도로, 자바 스크립트 프로토 타입 기반 언어입니다
어느 세트가 존재한다는 것을 의미 종류입니다 기본값
의 모든 기능에 숨겨진
개체 점에 프로토 타입의 속성입니다.
그래서 일종의 해시의의 다만 다른 기본 값
당신은을 호출 할 때 새로운 키워드로 기능,
이들에 의해 설정 함수로 기본
사용할 수 있음 인스턴스.
그래서 실제로 -, 정말로 효율적
이는 효율적인 방법의 정보의 현명한 개체 메모리를 만드는
때문에 자바 스크립트 런타임은 추적 할 수있다
객체의 프로토 타입.
그것은 종류의를 가리키는
새를 cretae 때 클래스의 인스턴스입니다.
그리고 당신은 또한 모방 할 수 같은 상속 알려져있다
클래스 기반 언어 당신은 종류가 어디
의 같은이 확장, 그 당신이 모방 할 수있는 확장
이 자바 스크립트에서 라는 것을 통해
프로토 타입 체인.
그리고 우리는 예를 볼 수 있습니다 그것에 대해.
따라서 귀하의 경우 - 해당 jQuery 플러그인 실제로는 jQuery를 추천합니다
달러 도트를 사용하는 저자 FN이 기능을 추가 할 수
jQuery 라이브러리에.
그리고 우리는 실제로거야 로 이동합니다 - 그래서,이 페이지에서
우리는 달러가 - 내가 jQuery를 포함.
그리고 당신은 달러를 할 경우 콘솔에서 점
내가 데리고 언급하는 당신이 최대 명령 이동 J를 통해
아니면 그냥 보는 것, 개발자, 개발자 도구
그리고 소스 탭으로 이동.
[청취 비고]
아 물론. 그래서 때 시작 변수를 입력하려면,
그것은 나를 위해 자동 완성 있어요 무슨 일이 사용할 수 있습니다.
그래서 달러에 입력하고 난 할 수있어 내가 크롬을 가지고 있다고 생각 참조
내장 달러, 달러와 달러 X.
그래서 지금은 그냥 할 달러와 나는 점에 넣어.
그리고 그것은 나에게 보여줍니다 모든 속성
사용할 수 있음 jQuery 오브젝트에.
하지만 달러를 할 경우 점 프로토 타입,
지금은 모든 방법을 참조하십시오 내가 사용하는 데 사용 걸
나는 달러, 선택이있을 때 그리고 난 사람과 그 해제 체인
당신이 알고있는, 클래스를 추가하거나 추가 또는 흐림 등의 임의.
사람들은 모두 실제로 프로토 타입에
이는 후드 jQuery를 아래 자신의 새 인스턴스를 만듭니다
그것은 종류의 모든 숨 깁니다 당신의 그 세부 사항.
그래서 한 지점 여기에 다시 만들기
기능, 그들은 실제로에서 프로토 타입을 숨기기
과 그냥 별명 달러에 FN 점.
그래서 대부분의 사람들이 실제로 실현하지 않습니다
프로토 타입이 있음 후드 도대체에서 -
당신이 활용할 수 있다는 추가 기능을 추가
각 jQuery를 인스턴스 당신은 당신이 좋아 한 경우에.
그래서 "새로운"연산자는 정말 힘듭니다
처음에는 이해합니다.
당신은 함수를 호출 할 때 "새로운"와,
그것은 완전히 다른의 함수를 호출하는 방법
당신이 방금 전화처럼 노골적으로.
그래서 "새로운"연산자를 생성 새 인스턴스라는 것을
개체 나 새의 , 당신이 생각할 수있는 인스턴스
클래스와 객체.
그리고이 값에게 발생했을 때 이 중 어느 잘 알고있을 수 있습니다
jQuery에에서와 그들은 종류의이 설정
편리 무엇에 시.
그들은 일반적으로 설정할 당신이있어 현재 DOM 노드
당신이 같이 겪고로 각 또는 그런 일.
그들은 -이 값은 예상되는 인스턴스의 값이 될 수 있습니다
당신이 "새로운"로 만든, 하는 모든 것을 포함
프로토 타입 체인 모두에 당신이 찾아 낼 줄 방법
프로토 타입의 속성으로.
그럼에 따라 방법 함수가 호출됩니다,
이 값은 무엇.
그리고 정말 혼란 있어요 당신은 자바 스크립트의 새로운면.
하지만라고 모든 기능 이 -이 값에 있습니다.
당신이 작성하지 않은 없더라도 뭔가의 새 인스턴스
이 것으로 가정 글로벌한다.
또는 당신은 함수를 호출 할 수 있습니다 호출 방법을 사용
방법을 적용 곳 자바 스크립트에서.
당신은 기능을 할 수 있고 이 될 것을 지정.
그래서 당신은 그것을 동적으로 만들 수 있습니다 정말 강력한입니다
또한 당신이 할 수 있습니다 오해의 소지가 될 수있는 것들
와 혼동 다른 개발자
그들은 사실을 사용하지 않는 경우.
그리고 jQuery를, 내가 주장 그것은 더 혼란하게
편리함으로써 그리고 설정
현재 DOM 노드.
그러나 간단한 규칙을 기억 이 값은 무엇
당신이 찾고있는 경우
기능 호출입니다에 점의 왼쪽 무슨.
그래서 당신은 객체가있는 경우
그것은 어떤 점의 뭔가 기능입니다
그런 다음 호출하고 있는지 첫 번째 값은 어떤 값입니다
이입니다.
그래서 여기에 코드 예제
내가 만드는거야 곳 문자 그대로 새로운 객체
이는 단지 목적 중괄호로 만든
나는 밥에 이름을 설정하고있어
그리고 난 sayName이 여기 방법 -
그래서이 sayName 내부 나는 X는 sayName 점, 경우
이 값이 같은지 X로 인해 왼쪽
점의 x입니다. 그렇다면 나는 점 sayName x를 호출
그것은 안녕하세요 밥을 말할 것입니다.
그리고 다른 예로
실제로 할당 해요 곳 X 점 sayName 함수
변수 Y에, 이는 앞서 언급했듯이
자바 스크립트를 당신의 기능을 할당 할 수 있습니다
변수 당신이 원하는 때마다,에 그것은 그런 식으로 정말 유연
하지만 지금은, Y를 호출 할 때 그것은 X의 컨텍스트를 잃었다.
그래서이 이제 전역 또는이다 엄격 모드에 있다면,
난 널 (null)의 생각 또는 정의되지 않은.
그러나 - 그래서 Y 당신이있어 무슨이 아니다 당신이 찾고 있다면 여기에 기대
X에서 당신은거야 sayName를 호출하면,
당신이 이름을 기다리고있어 밥 될 예정이다.
그러나 당신은 그것을 뽑아 경우 객체와 객체라는
그 자체로, 이는 지금 세계입니다.
그리고 그게 내가 언급 한 무엇을 당신이 달러를 볼 때,이 점
당신은 종종 생각하지 않습니다 어떤 사실에 대한 것입니다.
그러나 jQuery를 일종의가 자신의 자신의 도메인 특정 언어
이 다루고위한 당신이 사용하는 것이 아니다
자바 스크립트에서합니다.
그리고 나는이 지적 정말 중요하기 때문에
잘 구조화 작성 객체 지향 코드
자바 스크립트가 정말이에 잘 이해하고 파악
이 작업을 수행하는 방법의 방법 객체 모델 작품
어떻게 새로운 연산자 작동합니다.
그렇지 않으면, 당신은 될 겁니다 JQuery와 스파게티까지
모든 종류입니다 모든 장소에
단지 DOM 다루는.
당신이 실제로 할 수있는 경우에 자바 스크립트에게 쓰기
더 구조화 된 방식으로, 그것은 훨씬 더 쉽게 만든다
정렬하려면 작업을하려면 의 문제를 분리
와 거래의 DOM을 업데이트하고 처리
실제 로​​직과 코드.
그럼 살펴 보자 그 주위에 몇 가지 예입니다.
그래서 여기에 몇 가지 예제가 있습니다.
그래서 이것은 단순한 예입니다 자바 스크립트 객체를 사용
그리고 몇 가지 기능을 추가 그 다음 정렬을 만드는
의 미니 응용 프로그램 등을들 수있다.
그래서 실제로 매우 간단합니다.
그것은 않는 유일한 것은이다 처음에 당신의 이름을 묻는 메시지가 나타납니다.
그래서 팀 말을 한 다음합니다 밥에 당신의 이름을 변경할 수 있습니다.
그리고 그 모든이의 응용 프로그램을 수행합니다.
하지만 제가 포인트하고 싶습니다 밖으로는 그것을 수행하는 방법이다.
그래서 나는이 이름 생성기가 시작 메서드가 개체
사용자를 묻는 자신의 이름에 대한
그냥이 askForName를 호출하여
이는 아래로 여기 프롬프트에게 수행
이름이 지정되지 않은 경우 다음 다시 부탁드립니다
이 askForName를 호출합니다.
그리고 그 이름을 가져옵니다 일단, 그것은이 업데이트 이름을 호출합니다.
그래서이 다음으로 설정 H1 태그에 사용자의 이름입니다.
그리고 이름이없는 경우 설정, 에러가 발생합니다.
[청취 비고]
아 물론. 그래서 설정 H1 태그에 사용자의 이름
setDisplayName를 호출하여 HTML을 설정하는
JS 이름의 용기에 내 HTML의 모든 접두사를 해요
JS 선택기 때문 만있는 그것은 얻을 수있는 좋은 습관
그냥 만드는에 그렇게 혼동하지
당신이 사용하는 경우 ID의 나 클래스와 같은 선택기
스타일 모두와 논리
당신의 자바 스크립트에서 프런트 엔드 응용 프로그램.
때문에 당신은 다른이있는 경우 일하는 사람들의 그룹
코드베이스에 당신 이 선택이
디자이너가 결정한다는 변경 밝히는 -
좋아 보인다, 그래서 그들은하지 않습니다 새로운 클래스에 넣어 가지고 가게
밖으로 당신과 당신이 기대하고 있습니다 자바 스크립트의 목적을 위해에,
다음 코드는 중단됩니다.
이 접두사 및 정렬하는 것이 좋다
같은 네임 스페이스의 거의 자바 스크립트 관련 클래스
또는와 속성 JS의 접두사.
그래서이 사랑스러운 간단하고 당신이 볼 수
난이 모든 경우에 호출은 끝이를 반환합니다.
그래서이 좋다 에 들어갈 습관,
당신에게 그것을 줄 수 있습니다 유효한 리턴 값입니다.
askForName에서 나는 아니에요 그 의미가 있기 때문에
당신은 다시 이름을 얻을 것.
하지만 그 허용하는 당신은 할 수 있습니다
이 업데이트를 반환하는 경우 이 값을 반환하는 것, 이름을
setDisplayName의 어느입니다 이 값을 반환.
그리고 당신이 순서를 정렬 할 수 있습니다 당신이 사용하고 같은 체인의
반환하여 jQuery를에에 이 때마다 값.
이것은을 의미 현재 개체
그래서 당신은이 점을 호출 할 수 askForName 점 setDisplayName
그리고 그것은 계속 것 이것의 가치와 당신에게 허용
거기에 좋은 체인을 가지고 있습니다.
다음에 - 그래서에서 두 번째 예.
[일시 정지]
괜찮아요.
OK. 그래서 앞서 가자 콘솔을 열어
내 소스 탭으로 이동합니다.
우리는 실제로이 튀어 나올 수 있습니다.
그래서 크롬 개발자에 내가 언급 도구,
이 조각이있다 오른쪽에 -
이 정지 신호를 볼 수 있습니다 기본적으로 있지만, 검은 색이다.
그러나 경우에 마우스를, 그것을 예외 일시 중지하지 마십시오 "라고.
일시 정지에를 클릭 모든 예외. "
그리고 당신은 그것을 클릭하면 다시, 그것은 파란색으로 바뀝니다.
그리고 지금은 언제라도 그 발생 오류가 있습니다
자바 스크립트 코드에서, 거 시점에서 중지하고 당신에게 허용
무슨 일이 일어나고 있는지 알아보고자 하였다.
그래서 - 그리고 정말 유용 개념은 지적하려고합니다.
그리고 경우에 당신은 클릭 다시, 퍼플 변
이 일반적이다 내가 그 안으로 유지
그것은 단지 코드 나누기 예외가있을 때
그 적발되지 않았습니다.
그래서에 대한 jQuery를에 많은 시간 예, 그들은 캐치를 시도한다
브라우저 여부를 테스트 능력의 일종을 가지고
거기에서 계속합니다.
이 경우에만 있습니다 오류가 있습니다
그것은되지 않았습니다 시도 캐치에 걸려.
그래서 시도하자 및 제출 비어있는 이름입니다.
그래서 내가 볼 수 코드는 이제 중지
updateName 방법에 내가 할 수있는 이름에 마우스
그것은 빈에 비어를 참조하십시오.
저기 빈과 동일합니다.
그렇게하지 ​​않을 경우 새로운 던져 이름 오류가 지금은 다시 단계 수
기능을 통해 열 및 OK "라고,
곳에서 온 "과 않았다 클라이언트의 값이 무엇을 참조하십시오.
그래서, askForName 방법이 있습니다
setDisplayName 시작 및 updateName.
그리고 이건 정말 유용합니다 방법 당신이 볼 수있는 모든
사용할 수있는 변수 그 범위 내에서뿐만 아니라
클로저 변수로, 닫혀 그래서 아무것도
에이 기능에 의해.
그래서 나는 것을 볼 수 있습니다 - 클라이언트의 값이 무엇인지
그리고 무엇이의 값이다.
우리는거야 그래서이 '원인 jQuery를에서 동일하다
현재 DOM 요소.
하지만 정말 유용합니다 코드를 디버깅
이 같은 오류를 중단하십시오.
의 또 다른 특징 크롬 검사기는
당신이 할 수있는 어떤 지점에서 다른 라인을 클릭
행과는거야 장소에서 휴식
중단 점을 설정 한 곳 그들은로 언급하고 있습니다.
나는 클릭이 경우, 라인이 파란색으로 변합니다.
그래서 내가 계속하자 여기에 실행, 확인, 그 끊었다.
그리고 지금의 이름을 설정할 수 앨리스 제출을 누르십시오.
그래서 지금은도 볼 수 있습니다 그 점에 도착하기 전에
모든 업데이트, 그것은 이제 그래서 내가 볼 수있는 바로 여기 중지
나의이 이름은 앨리스입니다 그리고 난 계속 -
내가 페이지를 다시로드 할 수 있습니다.
좋아, 그래서 지금은 걸 다시 시작에서 시작
그것은이시 중지 라인과 볼 수 있습니다
그 이름은 현재 정의.
askForName 그것을 작동하는 것입니다 입니다, 그래서 종종 유용
당신은 기능이있는 경우 다른 파일에서 오는
또는 다른 장소 어디 코드, 당신은 볼 수 있습니다
그리고 그 다음으로 이동, 그것을 강조 할 것입니다.
습관을 너무 좋은 디버깅 도구를 사용
그냥되지 않습니다 점 로그를 콘솔.
OK, 조심하세요 두 번째 예를 살펴
이는 더 사용한다 내가 언급 한대로 프로토 타입.
따라서이 예에서,
우리는 새를 만드는 CS 호출되는 함수
이것은 대문자입니다 그래서 대회 표준
자바 스크립트에있는 경우 함수가 이용 될 것으로 예상되는
생성자로, 반대로
그냥 정상으로 기능, 당신은 그것을 활용.
그래서 자본 CS이이 변수 CourseID를 소요
및 courseTitle하는 나는이 CourseID를 설정,
이 courseTitle 생성자.
그리고 또한 학생들을 설정 빈 배열과 같은 강의.
그래서 이유 -
좋아, 그럼 프로토 타입 속성은 다음 정의 된
여기까지와 함께 - 그래서 템플릿 단순한 '이다
템플릿, 밑줄 서식 당신이 할 수있는 방법 인 -
템플릿과 유사 다윗은 언급했다고
서버에서 수행 할 수 있습니다 그냥 스크립트 태그를 쓰기
자바 스크립트를하지 않은 스크립트이지만 텍스트 HTML
내가 뭘하는지 jQuery를은으로 -
이들를 유지하지 않습니다 개방, 그래, 거기에 우리가 간다.
jQuery를 함께, 그것은 점점 해당 템플릿의 HTML 값
다음 통해 실행 유틸리티 라이브러리를 강조
템플릿 엔진.
그래서 문서 그 다운 여기에
유틸리티 템플릿에서
하지만 기본적으로는 읽을 수 있습니다 그것에 대해 조금 더.
그러나이 문자열을 평가 와 함수로 변환합니다
이는 우리가 다음 데이터를 전달할 수 있습니다 로 및 동적으로 호출합니다.
내가 가진 다음 두 가지 방법 addStudent 및 addLecture 있습니다.
이 단지에 추가 내가 설정 한 내부 배열
생성자와 다음 방법을 렌더링합니다.
그래서, 새를 만들 수 CS의 인스턴스가 164이라고
이 과정이있는 숫자 164과 제목입니다.
그리고 CS50하는가 CS1에 CS50 및 소개
다음 몇 가지를 추가 학생들이 강의
다음 CS50 렌더링 호출합니다.
그리고 코드를 실행, 그렇다면 나는 제품군 평가와 함께 그 일을 해요.
당신은 정말 사용하고 싶지는 않을 평가,하지만 난 그냥 일종의 해요
의 복용 모든 즉 여기에서의 자바 스크립트
그리고 즉석에서 그것을 실행.
그것은이에 렌더링 이러한 새로운 인스턴스를 템플릿
이 CS 클래스의 속성은, 그래서 우리는 가신
addLecture를 통해 수행 각에 addStudent.
그리고 언급 한 바와 같이 나는이를 반환하고 있습니다 때문에,
실제로 이러한 체인 수 addLecture 및 addStudent 통화
하고 그냥 잘 작동합니다.
자바 스크립트의 다른 기능 그게 더 유용합니다
서버 측에 위치 당신이 정말로 주어진 시간에
응용 프로그램이 가져옵니다 경우 큰이 사용자의 위치를​​ 모르는
그것은 설정 힘들어 이러한 개별 중단
난에서 언급 한 크롬 검사기는
디버거 키워드를 사용합니다.
그래서 D-E-B-U-G-G-E-R 단지.
그리고 당신은 디버거를 넣으면 코드의 키워드
당신은이 - 거기에 우리는 2G의 이동합니다.
디버거를 둘 때 코드의 키워드
당신은 디버거를 실행하는
이러한 크롬 등 여기 관리자
또는 서버 측 크롬 관리자, 그것은 자바 스크립트를 알려줍니다
그 라인에서 실행을 중지 코드의 다음 그것은 당신에게 수
나머지를 단계별로 코드의 실행.
나는 실행 코드를 클릭 그렇다면 여기, 지금은 없겠지
이 디버거 라인에서 내가 할 수있는 확인을 참조하십시오 여기 CS50의 값입니다
그것은있어 과정의 제목, 코스 ID,
는 더 강의도 없어, 어떤 학생들도 없습니다.
그리고 나서 단계별로 실행할 수 있습니다 전체 addLecture,
나는 그것을 살리는 볼 수 있습니다 이 강의에서,
마우스 그 이상, "안녕하세요."
내가 실제로 할 수 콘솔 그래서이 설정되어이 작업을 수행
현재 개체 당신은 안으로다는 것을
이 강의는 "안녕하세요"입니다.
그리고 스테핑을 유지 많은 내가 원하는대로를 통해.
나는 단계를 원하지 않는 경우
함수 호출 '원인에 그게 무슨 일이 일어나고 있는지
addLecture로 전환 할 것은, 이 버튼은 바로 여기에있다
"다음에 단계라고하는 함수 호출, "그래서 나는 갈 수 있습니다
점에 어쩌면 해요했다 뭔가에 대해 궁금.
같은 예를 들어 164 렌더링합니다.
그래서이 시점에서, 그것의 렌더링 할 것.
나는이 템플릿을 볼 수 있습니다 컴파일 된 템플릿입니다.
나는이 점 I에서 볼 수 있습니다 두 학생이 있어야합니다
두 강의.
그리고 프로토 타입이있다 내가 언급 한 체인.
온다 그래서 기본 하나 단지 객체와 함​​께
일반적으로 자바 스크립트에서
두 개의 문자열로 제공 생성자의 값입니다.
그리고 그 사람이 나는 나 자신에 추가했습니다
addLecture, addStudent와 다음 속성
이에 대해 고유한지 클래스의 인스턴스를
그것은 호출 된로 새로운 키워드.
그럼 할 수 있도록 한 이에 대한 자세한 예
그리고, 우리는 몇 가지 단계 것 더 흥미로운 것들
서버 측에서.
그럼 가서 열게 이 마지막 예를 들어 어느입니다 -
의 어디 코드는, 보자?
이 어디로 갔는지 모르겠어요.
OK, 음, 우리는 그냥 지나칠지도 모릅니다 이 코드를 통해 다음 사실 -
아 잠깐, 내가 놓친 생각 코드에 대한 스타일 시트.
OK, 이렇게 만들자 큰이 조금.
이 예에서는 보여 드리는 설정에 좀 더
프로토 타입 체인까지,
그래서 상속을 설정 자바 스크립트와 함께.
따라서이 경우, 우리는이 예정 카탈로그
아마도 유지 여러 코스.
그리고 카탈로그에는 addCourse 방법.
그래서 있는지 검사 과정 그가 전달있어 인스턴스입니다
물론 같은 호출 새로운 키워드.
그래서 시도하고 보내는 경우
다른 일에, 그것은 당신을 소리 것입니다.
렌더링 방법을하는 것 각 과정 렌더링
아래의 서식 파일을 컴파일하여.
그리고 우리는 물론이 어떤 접근
이 경우의 기본 클래스 개별 부서의 과정.
대신 각을 설정
물론 도트의 프로토 타입 점 방법
또는 확장하여 속성 밑줄 라이브러리 도우미
통화 확장 정렬하기 모든이 프로토 타입
이들 중, 어느입니다 유용, 읽기 좀 더 쉽게.
그리고 여기까지하고 설정으로 알려진 곳
프로토 타입 체인입니다.
따라서이 사실은 조금 처음에는 사람들에게 까다로운
심지어 아직도 이런 짓을 한 잠시 동안, 그것은 일종의 어렵다
당신의 머리 주위를 감싸는.
하지만 당신을 놀라게 할 순 없습니다.
그래서 나는 새를 설정 해요 -
완전히 새로운 클래스 여기에 CS를 반대합니다.
그리고 생성자에서,
나는 과정을 말하는거야 이 인수를 적용 할 수 있습니다.
그래서 인수는 특별하다 값 나는 당신이 그것을 말할 수 있겠죠
자바 스크립트에서, 모두가 키워드
의 모든 것을 함께 전달 된 인수는
해당 기능을 사용할 수 있습니다 인수는 전화로,
인수의 키워드.
내가 전화 했어 그래서으로 코스 신청 점,
이것은 현재 컨텍스트이다 있는 CS가 호출되고있다.
그래서 나는 새로운으로 호출 할 때 그것은 - 그것은이 CS의 값입니다.
그리고이 전화 말하는거야 여기에 물론 방법까지.
아 죄송합니다 -이 전화 바로 여기에 물론 방법
그러나이 값을 설정할 어떤 값이 될 수 있습니다
이 바로 여기에있다.
그래서 적용 키워드 수 있습니다 당신은 종류의 상태를 변경하려면
이있는 방법을 jQuery를입니다 스위치를 정렬 할 수 있습니다
같이에서이 중 을 하시려
및 DOM 요소를 확인 대신 jQuery 객체의.
그래서 지금 내가 설정하는거야 임시 기능
잡을 것이다 물론 프로토 타입.
그리고 종류의 설정 프로토 타입에
다음 프로토 타입을 설정 CS의 기능 개체
그 새로운 인스턴스.
그래서 기본적으로 난 대신 말 -
나는 여기 아래 CS 점에게 한 경우에 프로토 타입은 새로운 코스와 동일합니다.
그 다음이 될 것이다 모든 호출
이 생성자 함수에,
이는 내가 않을 것 반드시 싶었다.
그래서 내가하고있는 모든이다 종류의 거의 생성
대리 기능을 좋아하는 과정의 프로토 타입을해야합니다
그것에 및 종류의 프로토 타입을 모방 -
물론,하지만하지 않고, 생성자의 모든
그리고 프로토 타입이 설정합니다.
그리고 난 그냥 그래서 부서를 추가
이 경우 컴퓨터는 CS 개체에 대한 과학.
그리고 난의 종류가 그 일의 다리 버전.
그것은 IE9에서 작동하지 않습니다.
내가 원하는 것도 그런 이유입니다 방법의 종류를 표시합니다 -
이것은 무엇을하고 있는지 후드 아래에.
그러나 당신은 그것을 설정할 수 있습니다 동일한 방법으로 최대
경제학 기능을 동일 곳 물론이 인수를 적용
다음 경제학 점 프로토 타입에게 말한다 개체 점 CreateCourse 동일
점 프로토 타입.
그래서 새 개체를 만들고 있어요 이는 단지 프로토 타입입니다
과정에 대한 다음 이 부서를 설정합니다.
그래서 지금을 설정 그냥 가자 여기에 디버거와 실행을 클릭합니다.
거기 우리는 간다.
그래서 CS164 우리는 볼 수 있습니다 우리가 가진 프로토 타입 체인
해당 특성이 있었다 생성자에서 설정합니다.
설정된 이들의 그래서 값 다음 프로토 타입 체인 전체에
그것은했다 CS 개체에 대한 학과 컴퓨터 과학을 설정합니다.
그리고 기본에 프로토 타입 체인,
우리는이 모든 메서드 및 속성
에 고유 한 그 물론 개체입니다.
그리고 우리는이 베이스 객체.
그래서 빠른의 종류 프로토 타입 체인의 예.
그리고 당신이 여기에서 볼 수있다 부서 당 두 개의 값은 다음과 같습니다.
그래서 부서가 컴퓨터 과학
다음 부서 내가 말한 어떤 대상에 포함되지 않은
여기에 기본 값으로.
따라서 프로토 타입 체인 실제로 단지 단독입니다
링크 목록입니다.
그리고 그것은하려고으로 속성을 찾을 수 있습니다,
그것에서 시작합니다 최고 수준의 값입니다.
그래서 무엇을 정의되어 생성자 함수
다음 종류의 아래로 이동 거기에서 프로토 타입 체인.
그것을 발견 그래서 있기 때문에, 그래서 -
여기 있었으면 CS50 점학과,
그것은 컴퓨터 과학을 말할 수 있습니다.
하지만 VAR을 말한다면 -
[일시 정지]
하지만 인문학을 말한다면 새로운 코스와 동일
그리고, 나는 인문학 말 점 부서,
나는 부서에 나열되지 볼 수 있습니다 그것은 갔기 때문에 첫 번째로 -
나는 프로토 타입을 볼 수 있습니다 체인 여기 사실.
그래서 과정에 처음 갔다 개체 및 아무것도 보았다
프로토 타입 체인에에 부서 수준
또는 부서 값 때문에 그런 다음, 다음 단계로 이동합니다
과정과 외모 거기에 전달하고 찾습니다.
단지 종류의 같은 그렇게 위에서 아래로 내려갑니다
그것은 종류의의 독특한 뭔가
에 대한 자바 스크립트입니다 당신은 어떤을 변경할 수 있습니다
이 값에의 주어진 시간.
그래서 생성자에서 또는에 개체의 개별 방법
나는 이것을 설정하려면 뭔가 새로운 부서,
또는 심지어 설정하려면 이러한 기능의
이미 존재하고 있는지
새로운 무언가에, 그 자유 해요.
그래서 지금은 CS50 점을 addLecture, 그런 것 같습니다.
그리고 그것을 설정하려면 CS50 addLecture은 동일
빈 함수.
그럼 지금은 그것의 볼 수 있습니다 다만 완전히 변경
당신은 드릴 수 없습니다하는 다른 언어를 할
당신은 엄격한이 곳 클래스 기반의 상속
모든 것이있다 종류의 설정.
자바 스크립트는 매우이다 그에 관해서는 유연.
자, 다시 뛰어 보자 슬라이드에.
그렇다면 예를 들어 당신이 항상 기능을하고 싶습니다
특정을 가지고 이 값은 설정합니다.
당신은 기능 점 바인드를 호출 할 수 있습니다
어떤 값으로 설정 의이 있어야합니다.
당신은 생각할 수 있습니다 -
"내가 생각하기 위해 노력하고있어 "현실 세계의 예를 잘하지만,
당신은 당신의 코드를 보호하려면
잠재적으로 사람에 대하여 값으로 호출
즉,이되지 않을 것입니다.
같은 예를 들어 AJAX 초과 또는 오류와 같은 콜백.
사람들은 일반적으로 호출되지 않습니다
좋은 의미로 이 값.
그리고 당신은 OK, I 항상 "같은거야 이 값이 할
물론 개체의 직장 동료가있다.
아니면 제가보기 내 코드에서 작업
즉,이를 나타냅니다 DOM 노드, 당신은 설정할 수 있습니다 -
이에 컨텍스트를 바인딩 할 수 있습니다 후 나중에라고 할 때
jQuery를 해가없는가 이 붙어 있습니다이 좋은 값
당신이 그것을 경계 무슨.
그런 다음 함수 호출이 있었다의 당신은 컨텍스트를 지정할 수 있습니다
어떤 변수를 지정 인수의 수입니다.
그리고 기능이있다 당신이 통과 할 수있는 적용
상황과 다음 배열 중 하나를
또는 인수는 개체 당신이 보는 바와 같이 나는 언급했다.
그리고 어떤에서 인수 당신이 전화 기능,
당신은 입력 할 수 있습니다 단어는 "인수"
그것은 모두를해야합니다 인수.
그것은 "길이"속성이 있습니다
이는 5 월 인수가 얼마나입니다 실제로 메서드에 전달
자바 스크립트에 이후 당신은 전화로 정렬 할 수 있습니다
변수 번호 인수.
이 말에 대한 유용 이것은 하나의 인자가 있다면,
다음이 코드 경로를 따릅니다.
이 두 가지가 있다면, 당신은 수도 다른 방법을 수행하는 것이 좋습니다.
그것은 당신이 정말이 할 수 있습니다 당신의 방법에 대한 동적 API를.
당신은 생각할 수 그 jQuery를 함께
같은 때 당신이 달러 또는 바인드 점.
그리고 그것은 종류의 수행 여러 가지
당신이 하나를 넣어 여부에 인수 또는 두 개 또는 세
또는 기능을 시작합니다.
이 인수를 사용하고 재산
및 인수 많은 경우 길이
이 마법을 가지고 기능이 생겼어요.
당신이 할 수있는 일 인수는 단지 그것을 사용하는 것입니다
배열 기본적으로.
그래서 당신은 인수를 말할 수있다 세 뭔가로 설정
당신은 사용 수로 어레이 할당.
당신이 사용할 수 있습니다 - 많이 밑줄 방법
컬렉션이나 하나에 대한 배열을 사용하기위한,
당신은 인수를 전달할 수 있습니다 그리고 깨닫게됩니다
그것은 인수 있다고 객체와 정렬
의 당신을 위해 알아서.
하지만 당신이 사용하려는 경우 전달되는 인수
배열 등의 기능을 통해,
당신은 밑줄을 사용할 수 있습니다 두 개의 배열을 점.
중 하나이다 유틸리티 함수
밑줄에 구축되는.