이 기사의 예에서는 js 캡슐화에 사용할 수 있는 생성자 상속의 사용을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
먼저 다음 코드를 살펴보겠습니다
(YUI) 라이브러리에서 사용하는 방법:
var F = function(){};
F.prototype = Parent.prototype;
Child.prototype = new F();
Child.prototype.constructor = 자식;
Child.uber = Parent.prototype;
}
복사 상속 방법인 속성 복사도 있습니다.
이 방법은 이전 방법과 다릅니다. child의 프로토타입 확장이 완료되었으므로 더 이상 덮어쓰지 않으므로 child.prototype.constructor 속성을 재설정할 필요가 없습니다.
이전 방법에 비해 이 방법은 확실히 효율성이 약간 떨어집니다. 여기서 수행되는 작업은 하위 개체의 프로토타입을 하나씩 복사하는 것이기 때문입니다. 단순한 프로토타입 체인 쿼리가 아닙니다.
이 방법은 기본 데이터 유형만 포함하는 객체에만 적용할 수 있습니다. 함수 및 배열을 포함한 모든 객체 유형은 복사할 수 없으며 참조 전달만 지원합니다.
var Shape = function(){}
var TwoDShape = function(){}
Shape.prototype.name = '모양';
Shape.prototype.toString = function(){
return this.name;
}
확장2(TwoDShape,Shape);
var t = new TwoDShape();
t.이름
//-->"모양"
t.toString();
//-->"모양"
TwoDShape.prototype.name = 'TwoDShape';
t.이름
//-->"2D 모양"
t.toString();
//-->"2D 모양"
TwoDShape.prototype.toString === Shape.prototype.toString
//-->참
TwoDShape.prototype.name === Shape.prototype.name
//-->거짓
이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.