如何使用此示例进行继承。
我正在尝试创建一个充当单例的对象文字。在这里,我想提取我的课程。接下来,这些类应该在适用的时候相互继承。
像这样:
var Singleton = {
car: function() {
this.engine= true;
},
ford: function() {
this.color = 'red';
}
};
我想让福特继承酒吧,但我不能这样做:
ford: function() {
this.color = 'red';
this.prototype = new this.car();
}
有什么想法吗?
答案 0 :(得分:2)
var Something = {
foo: function() {
this.greet = 'hello';
},
bar: function() {
this.color = 'blue';
}
};
Something.bar.prototype = new Something.foo();
alert((new Something.bar()).greet)
以下是inheritance
的入门读物答案 1 :(得分: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
答案 2 :(得分: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");
以这种方式创建的Bar
将包含greet
和color
属性。此方法保留Prototype属性。