JavaScript中的原型/子类

时间:2015-09-27 21:08:02

标签: javascript methods constructor prototype

我无法确定我是否在JavaScript中正确使用原型/子类。

这是我的构造函数:

function SentientBeing(homePlanet, language) {
  this.homePlanet = homePlanet;
  this.language   = language;
}

我的任务是创建SentientBeing的三个“子类”。这会被认为是正确的,还是我这样做不正确? 提前谢谢。

// TODO: create three subclasses of SentientBeing, one for each
// species above (Klingon, Human, Romulan).
function Human() {
  SentientBeing.call(this, homePlanet, language);
}
function Romulan() {
  SentientBeing.call(this, homePlanet, language);
}
function Klingon() {
  SentientBeing.call(this,homePlanet, language);
}

1 个答案:

答案 0 :(得分:0)

很难找到,你想在这里取得什么,但我会很快展示如何使用原型:

function SomeClass() {
  this.a = 'a';
  this.b = 'b';
}

// Objects Method
SomeClass.prototype.methodHello = function( name ) {
  console.log('Hi, ' + name + '!');
};

// call this way:
var obj = new SomeClass();
obj.methodHello('Jose'); // => 'Hi, Jose!'

// Static Method
SomeClass.staticHello = function( name ) {
  console.log('Hello, ' + name  + '!');
};

// call this way:
SomeClass.staticHello('Herku'); // => 'Hello, Herku!'