[대상을 대상으로 하는 프로그램 설계(6)] 원형적 계승
기본 사상:
원형을 빌려 기존의 대상을 바탕으로 새로운 대상을 만들 수 있으며 사용자 정의 형식을 만들 필요가 없다.function object(o){
function F(){}
F.prototype = o;
return new F();
}
object () 함수 내부에서 임시적인 구조 함수를 만든 다음에 전송된 대상을 이 구조 함수의 원형으로 하고 마지막으로 이 임시 형식의 새로운 실례를 되돌려줍니다.var person ={
name:"Wonder",
colors:['blue','green','white']
};
var anoherPerson = Object(person);
anoherPerson.name = "Abby";
anoherPerson.colors.push('black');
var yetAnotherPerson = Object(person);
yetAnotherPerson.name = "Greg";
anoherPerson.colors.push('yellow');
alert(person.colors); //blue,green,white,black,yellow
원형적 계승은 반드시 하나의 대상이 다른 대상의 기초가 될 수 있어야 한다.
ECMAScript 5 새 Object.create () 방법은 원형식 계승을 규범화시켰다./* Object.create() (IE9+、Firefox 4+、Safari 5+、Opera 12+ Chrome)
* param:
* param1——
* param2——( )
* : 。
*/
var person ={
name:"Wonder",
colors:['blue','green','white']
};
var anoherPerson1 = Object.create(person);
anoherPerson1.name = "Abby";
anoherPerson1.colors.push('black');
var yetAnotherPerson = Object.create(person);
yetAnotherPerson.name = "Greg";
anoherPerson.colors.push('yellow');
alert(person.colors); //blue,green,white,black,yellow
var anoherPerson2 = Object.create(person,{
name: {
value:"Bob"
}
});
alert(anoherPerson2 .name); //"Bob"
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
function object(o){
function F(){}
F.prototype = o;
return new F();
}
var person ={
name:"Wonder",
colors:['blue','green','white']
};
var anoherPerson = Object(person);
anoherPerson.name = "Abby";
anoherPerson.colors.push('black');
var yetAnotherPerson = Object(person);
yetAnotherPerson.name = "Greg";
anoherPerson.colors.push('yellow');
alert(person.colors); //blue,green,white,black,yellow
/* Object.create() (IE9+、Firefox 4+、Safari 5+、Opera 12+ Chrome)
* param:
* param1——
* param2——( )
* : 。
*/
var person ={
name:"Wonder",
colors:['blue','green','white']
};
var anoherPerson1 = Object.create(person);
anoherPerson1.name = "Abby";
anoherPerson1.colors.push('black');
var yetAnotherPerson = Object.create(person);
yetAnotherPerson.name = "Greg";
anoherPerson.colors.push('yellow');
alert(person.colors); //blue,green,white,black,yellow
var anoherPerson2 = Object.create(person,{
name: {
value:"Bob"
}
});
alert(anoherPerson2 .name); //"Bob"
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.