2010-06-11 5 views
0

나는 객체가 자바 스크립트 객체 리터럴을 사용하여 생성하는 동안 어떻게 서로 하나 개의 객체를 상속이자바 스크립트에서 객체 리터럴을 사용하여 객체를 생성하는 동안 다른 객체를 상속하는 방법은 무엇입니까?

var Human = function() { 
    this.name = "baby"; 
    this.age = 0; 
} 
var Man = function() { 
    this.sex = male; 
} 
Man.prototype = Human; 

그러나

var Human = { 
    name:"baby", 
    age:0 
}; 
var Man = { 
    sex:"male" 
}; 

작동합니다 희망?

답변

0

개체 리터럴은 개체 일 뿐이므로 new 키워드로 랩핑하지 않는 한 개체 리터럴을 많이 만들 수 없습니다.

function object(o) { 
    function F() {} 
    F.prototype = o; 
    return new F(); 
} 

var Human = { 
    name:"baby", 
    age:0 
}; 
Human = object(Human); 

var Man = { 
    sex:"male" 
}; 
Man = object(Man); 

은 이제 개체 리터럴의 두 인스턴스를 가지고, 당신은 당신의 첫번째 예처럼 상속을 수행 할 수 있습니다

다음은 개체 리터럴의 인스턴스를 생성하는 크록 포드의 버전입니다.

관련 문제