0

我怎样才能用这个例子做继承。

我正在尝试创建一个用作单例的对象文字。在此我想提取我的课程。除此之外,这些类应该在适用时相互继承

像这样:

var Singleton = {

    car: function() {
        this.engine= true;
    },

    ford: function() {
        this.color = 'red';
    }
};

我想让福特从酒吧继承,但我不能这样做

    ford: function() {
        this.color = 'red';
        this.prototype = new this.car();
    }

有任何想法吗?

4

3 回答 3

2
var Something = {

    foo: function() {
        this.greet = 'hello';
    },
    bar: function() {
        this.color = 'blue';
    }
};

Something.bar.prototype = new Something.foo();
alert((new Something.bar()).greet)

这是继承的入门

于 2012-04-05T20:03:41.557 回答
1

如果你试图bar继承的属性,foo那么你可以做这样的事情(注意,这样你就不会继承原型属性):

var Something = {
    foo: function() {
        this.greet = 'hello';
    },
    bar: function() {
        Something.foo.call(this);
        this.color = 'blue';
    }
};

然后像这样使用它:

var bar = new Something.bar();
bar.color // blue
bar.greet // hello
于 2012-04-05T19:40:39.880 回答
0

你可以这样做:

function Foo() {
    this.greet = "hi!";
}

Bar.prototype = new Foo;

function Bar(color) {
    Foo.apply(this.arguments);
    this.color = color;
}

var myBar = new Bar("red");

以这种方式创建的 ABar将同时具有 greetcolor属性。此方法保留 Prototype 属性。

于 2012-04-05T19:43:31.580 回答