2012-04-06 2 views
1
var animal = {eats:true}; 
var rabbit = {jumps:true}; 

rabbit.prototype = animal; 

document.write(rabbit.eats); 

상속 된 객체의 메소드에 액세스하려고 할 때 내가 정의되지 않은 얻고 그러나 이것은 정의되지 않은 같은 대답을 제공, 오히려 그것은 사실이어야한다., 내가 프로토 타입 상속을 시도하고

var animal = {eats:true}; 
function Rabit(){}; 
Rabit.prototype = animal; 
Rabit.prototype.jumps = true; 

var rabit = new Rabit(); 
rabit.jumps; // true 
rabit.eats; // true 

아니면 정의하면 더 나은 : 내가 IE9

답변

2

prototype에 그 일을하고하는 것이 아니라 자바 스크립트 객체보다는 클래스에 정의 된 참조 개체입니다, 당신은 클래스를 정의 및 사용 상속 prototype를 설정해야 클래스 등 두 기관 :

당신은 프로토 타입 체인 바보와 정적 OBJE을 상속 LATES 구글 크롬 같은 Gecko 브라우저에서 문서화되지 않은 __proto__ 개체가,있다
function Animal(){}; 
Animal.prototype.eats = true; 

function Rabit(){}; 
Rabit.prototype = new Animal(); 
Rabit.prototype.jumps = true; 

var rabit = new Rabit(); 
rabit.jumps; // true 
rabit.eats; // true 

기타에서 ct :

var animal = {eats:true}; 
var rabbit = {jumps:true}; 

rabbit.__proto__ = animal; 
rabit.jumps; // true 
rabit.eats; // true 
+0

안녕하세요. :) \ –

+0

질문에 대한 답변 인 경우 답변으로 표시합니다. –