객체 지향 - day02

객체를 생성합니다 :

  새로운 운영자 : 기능을 수행 1. 자동으로 개체가 비어 반환이 암시 적에게에 ​​바인딩 2. 3. 다른 객체 4.이 주제 빈 빈 객체를 생성 

원형 체인 : 체인 길이 제한, 목적 (NULL로 종점)

  VAR OBJ = 새 개체 ();

  VAR 탭 = 함수 () {}

  var에 TAB1 새로운 탭을 () =;

  1. 객체의 프로토 타입 : OBJ .__ proto__

  2. 액세스 프로토 타입 생성자 : Tab.prototype 

  셋째 原型 链 : TAB1 .__ proto__ (TAB1 때문에 .__ __) .__ proto__ ((TAB1 때문에 .__ __) .__ proto__) .__ proto__ 【Tab.prototype 개체 널】

  4. 프로토 타입 체인의 끝은 다음과 같습니다 널 (놀랄되지 않습니다)

타입 생성자를 결정 :

  tab1.__proto__.constructor.name // 탭

  tab1.__proto__.__proto__.constructor.name // 객체

  TAB1 .__ 프로토 __.__ proto__ .__ proto__ // 널 Object.prototype에 .__ proto__ == 널 (null)

공장 패턴 : 오브젝트의 제조와 같은 제품, 기능 오브젝트를 반환

  기능 createObj (이름, 나이) {

    VAR OBJ = 새 개체 ();

    obj.name = 이름;

    obj.age = 나이;

    OBJ 반환;

  }

 

생성자 모드 : 

  방법 A : VAR OBJ = 새 개체 (); // 빌드 네이티브 오브젝트

  방법 2 :

    기능 제품 (이름) {

      // var에 OBJ = 새 개체 (); 암시 빈 객체를 만들고이 객체는 빈에 바인딩

      this.name 이름을 =;

      this.num = 0;

      이 반환 //, 이것의 암시 적 수익을

    };

    Product.prototype.add = 함수 () {// Product.prototype 공용 공간을

      ++ this.num;

      CONSOLE.LOG (this.num);

    };

    // Product.prototype 객체는, 기본은 하나의 속성 생성자, 당신은 개체에 새 속성을 추가 할 수 있습니다

     Product.prototype.constructor === 제품 // 사실  모든 개체의이 생성자가 어떤 함수 프로토 타입 객체는

    // 프로토 타입 생성자를 가져 오기 : Product.prototype을;

    var에 prod1 새로운 제품을 () =; 

    var에 prod2 새로운 제품을 () =;

    // Object.prototype에 .__ proto_ === 널 (null)

 

  // 클래스 상속, day03에 --- 기존 클래스의 기초 (데이터 구조를 공유하기위한 클래스 메커니즘) 새로운 클래스를 정의

  생성자 함수 원형 정의 유전 특성 및 구성에 정의 된 방법 ---> 속성 및 방법 : // 클래스 상속은 두 부분을 포함한다

 

// 모델링 새로운 오퍼레이터   ---- myNew 함수

기능 myNew (생성자, ... 인수) {-> 매개 변수 : 생성자의 매개 변수와

  } {= OBJ하자;

  constructor.call (OBJ ... ARG);

  OBJ .__ proto__ = constructor.prototype;

  OBJ 반환;

}

    

  

  

 

  

추천

출처www.cnblogs.com/baota/p/12424147.html