객체 상속과 관련하여 일반적인 접근 방식은 복사 방법을 사용하는 것입니다: Object.extend
protpotype.js의 구현 방법 보기:
Object.extend = function(destination, source) {
for (property in source) {
Destination [property] = source[property ];
}
return Destination;
}
또한 덜 일반적인 방법도 있습니다:
apply. method can hijack ( <
> 책에서 "hijacking"이라는 단어가 사용되었는데, 이는 매우 생생합니다.) 또 다른 객체의 메소드
는 다른 객체의 속성을 상속받습니다.
샘플 코드는 다음과 같습니다.
샘플 코드 적용
< script>
function Person(name,age){ //클래스 정의, human
this.name=name //Name
this.age=age // Age
this.sayhello=function(){alert("hello")}
}
function Print(){ //클래스 속성 표시
this.funcName="Print"
this.show =function(){
var msg=[]
for(var key in this){
if (typeof(this[key])!="function") msg.push ([key," ; 이름, 나이, 학년, 학교){ //학생 클래스
Person.apply(this,arguments)
Print.apply(this,arguments)
this.grade=grade / /성적
이 .school=school ~ tom",13,6,"Tsinghua Primary School")
s1.show()
s1.sayhello()
alert(s1. 기능 이름)
Student 클래스 원래는 메소드가 없었지만 Person.apply(this,arguments) 이후에는 Person 클래스의 sayhello 메소드와
의 모든 속성을 갖습니다. Print.apply(this,arguments) 후에 자동으로 show() 메소드를 얻습니다.
이 기사는 소개로서 적용(객체 상속 및 기능 하이재킹 측면에서) 사용법에 대한 간단한 데모만 제공합니다.
천천히 이해해 보세요.