JS 클래스의 상속
function Person(name,age){
this.name = name;
this.age = age ;
this.instances = ['1','2','3']
}
Person.prototype.getName = function(){}
function Man(){}
Man.prototype = new Person('jack',25); //
Man.prototype.getAge = function(){};
var man = new Man();
console.log(man instanceof Man); //true
console.log(man instanceof Person); //true
console.log(Man instanceof Person); //false ; Man.prototype Person
console.log(Man.prototype instanceof Person); //true
: , , ;
var man1 = new Man();
console.log(man.instances ); // ['1','2','3']
console.log(man1 .instances ); // ['1','2','3']
man1.instances.push('4');
console.log(man.instances ); // ['1','2','3','4']
function Person(age){
this.age = age ;
this.instances = ['1','2','3']
}
Person.prototype.getName = function(){}
function Man(sexy){
Person.call(this,'13'); // call
this.sexy = sexy;
}
var man1 = new Man('s1');
var man2 = new Man('s2');
man1 .instances.push('4');
console.log(man2.instances) ; // ['1','2','3'];
//
man1 .getName() //TypeError
3. 조합 승계
function Person(age){
this.age = age ;
this.instances = ['1','2','3']
}
Person.prototype.getName = function(){}
function Man(sexy){
Person.call(this,'13');
this.sexy = sexy;
}
Man.prototype = new Person();
: ;
: :call/new Person()
4. 원형 계승
function inheritObject(o){
function F(){};
F.prototype = o;
return new F(); // ,
}
var person = {
name : 'jack',
instances : ['1','2','3']
}
var p1 = inheritObject(person );
p1.name = '111'; //111
p1.instances.push('4'); // ["1", "2", "3", "4", "5"]
var p2 = inheritObject(person );
p2.name = '222'; //222
p2.instances.push('5'); // ["1", "2", "3", "4", "5"]
: ,
5. 기생식 계승
function inheritObject(o){
function F(){};
F.prototype = o;
return new F(); // ,
}
var person = {
name : 'jack',
instances : ['1','2','3']
}
function createPerson(obj){
var o = new inheritObject(obj);
o.getName = function(){};
return o;
}
6. 기생 조합식 계승
function inheritPrototype(subClass,SuperClass){
var p = inheritObject(SuperClass.prototype);
p.constructor = subClass;
subClass.prototype = p;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.