如何在javascript中使用对象文字创建对象时从另一个对象继承一个对象?

时间:2010-06-11 10:07:04

标签: javascript

我希望这会起作用

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"
};

如何在javascript中使用对象文字创建对象时从另一个对象继承一个对象?

1 个答案:

答案 0 :(得分:0)

对象文字只是对象,除非用new关键字包装它们,否则不能创建它们的许多实例。

这是Crockford创建许多Object literals实例的版本:

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);

既然你的两个对象文字都有一个实例,你可以像第一个例子那样进行继承。