Javascript 函数继承
Javascript function Inheritance
我知道这个问题已经回答了很多次,但我对如何继承(是的,再次继承...)两个 Javascript 函数感到很困惑。
假设我有一个名为 'Base' 的 class,这是我想要继承的那个;
function Base(model)
{
var self=this;
self._model=model;
return self;
}
Base.prototype.modelName= function()
{
return self._model.Name;
};
然后我创建一个新的 class 调用 Foo。
function Foo()
{
var self=this;
self.hello=function()
{
return 'Hello World';
}
return self;
}
我应该向 Foo 添加什么代码 class 才能执行这样的操作?
var myModel={type:1, name:'My Model'};
var myObj=new Foo(myModel);
var result= MyObj.modelName();
我知道我应该使用 object.create() 方法,但我不明白具体如何操作! :(
谢谢你们,再次为这个愚蠢的问题感到抱歉......我真的很纠结于这个基本概念!!!!
JavaScript 使用 原型继承。要从 Base
class 继承,请使用 like
Foo.prototype = new Base();
但是你不能将参数传递给Foo
。您需要将模型保存逻辑移动到 Foo
.
注意:不要return从构造函数中创建对象。默认情况下,创建的对象是 returned.
已编辑
function Base() {
}
Base.prototype.modelName = function () {
return self._model.Name;
};
function Foo(model)
{
this._model = model
this.hello = function () {
return 'Hello World';
}
}
Foo.prototype = new Base();
我知道这个问题已经回答了很多次,但我对如何继承(是的,再次继承...)两个 Javascript 函数感到很困惑。 假设我有一个名为 'Base' 的 class,这是我想要继承的那个;
function Base(model)
{
var self=this;
self._model=model;
return self;
}
Base.prototype.modelName= function()
{
return self._model.Name;
};
然后我创建一个新的 class 调用 Foo。
function Foo()
{
var self=this;
self.hello=function()
{
return 'Hello World';
}
return self;
}
我应该向 Foo 添加什么代码 class 才能执行这样的操作? var myModel={type:1, name:'My Model'};
var myObj=new Foo(myModel);
var result= MyObj.modelName();
我知道我应该使用 object.create() 方法,但我不明白具体如何操作! :(
谢谢你们,再次为这个愚蠢的问题感到抱歉......我真的很纠结于这个基本概念!!!!
JavaScript 使用 原型继承。要从 Base
class 继承,请使用 like
Foo.prototype = new Base();
但是你不能将参数传递给Foo
。您需要将模型保存逻辑移动到 Foo
.
注意:不要return从构造函数中创建对象。默认情况下,创建的对象是 returned.
已编辑
function Base() {
}
Base.prototype.modelName = function () {
return self._model.Name;
};
function Foo(model)
{
this._model = model
this.hello = function () {
return 'Hello World';
}
}
Foo.prototype = new Base();