Javascript扩展函数创建对象

时间:2015-04-08 19:37:07

标签: javascript oop

经过一些研究,我从来没有找到任何关于在js中扩展函数的“教程”。这不像

var old = some_func;
some_func = function(){ old(); do_some_stuff(); };

但是喜欢(我将在java中展示这一点):

class Point{
  protected int x = 0;
  protected int y = 1;
}

class MagicPoint extends Point{
  protected int color = 2;
}

在这个代码类中是我的功能。我希望得到像

这样的东西
function Object1(){
  this.a = 0;
}

function Object2(){
  this.b = 1;
}

var Object3 = extend(Object1,Object2);

var abc = new Object3();

ABC:
a = 0;
b = 1;

1 个答案:

答案 0 :(得分:3)

下面应该适合你。

Function.prototype.inherits = function(parent) {
 this.prototype = Object.create(parent.prototype);
};

function Object1(){
  this.a = 0;
}

function Object2(){
  this.b = 1;
}

Object3.inherits(Object1);
Object3.inherits(Object2);

function Object3() {
  Object1.apply(this, arguments);Object2.apply(this,arguments);
}

var e = new Object3();

console.log(e.a);
console.log(e.b);