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