JS 객체 지향하는 방법

JS 자체가 클래스를 수행하는 방법의 예이며, 클래스 그것은, 객체 지향하지? .

1 : 프로토 타입 함수 객체

   각 객체는 테이블을 가리키는, 프로토 타입 멤버 함수를 가지고,

표 객체 a.prototype 점;을 () {} 작동

2 : __proto__ 테이블

  각 테이블 JS (객체) 객체는 테이블 (객체) 객체를 가리키는 __proto__의 일원이 될 것입니다. 우리가 처음 찾을 자신의 테이블에이의 키 오브젝트를 방문 할 때 발견되지 않는 경우는 _ __proto__하기 위해 테이블 ​​다시 앞을 __proto__하고 있지 않은 경우, 다음의 __proto__ 테이블에 보면 _proto__ 테이블, ... 모든 검색이 완료 만에를 찾기 위해;

3 : 새로운 +의 기능기구

  VAR의 새로운 A = A는 ()이 전형적인 새로운 + 모드 함수

어떤에서 우리는 다음 결국 새로 만들기를 () 생성자 함수라는 함수를 JS 무슨 일입니까?

(1) 새로운 자료에 나타난 객체 {} 이하, 예를 언급했다;

(2) 예이 아니라, 기능 (A)에 전달된다;

(3) 내부 __proto__ 인스턴스 테이블 아래에 표 프로토 종에게 가치 기능 키를 복사;

(4) 새로운 인스턴스 객체 테이블 instace을 반환

4 : JS 객체 지향 방법

(1) 생성자 정의 :

기능 사람 () {...}

(2)의 멤버 함수를 추가 원형 테이블 생성자

   Persion.prototype.set_age = 기능 (나이) {}

생성자 후의 (3) 새로운 새 개체 +;

  {} 함수 객체 (원형으로부터 유래) : {set_age ... __proto__} 바르 A = 새로운 사람 ()는 테이블이고

 

(4) a.set_age (10)의 테이블의 예에서는 내측 보면 set_age 발견되지

__proto__ 그것을 찾을 내부 암묵적 통과 set_age를 입력 한 후,이 예는 인에 따라 찾을 수 있으므로 a.set_age ()는 상기 set_age 기능하도록 호출;

 

그래서, a는 사람의 인스턴스는이 JS 객체 지향 특성, 당신은 그것을 알게되고, 예로서, 메소드가 클래스에 호출 할 수있다? 또는 현기증,

현기증 경우, 몇 번 봐.

추천

출처www.cnblogs.com/blakehuangdong/p/11329690.html