inheritance in prototype

### 拷贝继承

### 类式继承(用new的继承)

  function Aaa() {		//父类
    this.name='小明';
  }

  Aaa..prototype.showName = function(first_argument) {
    alert(this.name);
  };

  function Bbb() {		//子类
    Aaa.call(this);		//继承父类构造函数里的属性
  }

  Bbb.prototype = new Aaa();	//实现继承Core

  //这里继承把属性也继承了,所以这种继承只适合单例模式
  //为了解决这个问题,需要一个中间项


  //最终的类式继承
  var f = function () {};			//方法继承
  f.prototype = Aaa.prototype;

  Bbb.prototype=new f();
  Bbb.prototype.constructer=Bbb;	//修改this指向


### 原型继承(不需要用new)

  var	a={name:'小明'};

  var b= clone(a);

  alert(b.name);

  function clone(obj) {
    var F=function () {};
    F.prototype=obj;

    return new F();
  }
最近的文章

Js Array Unique

数组去重的算法有很多,主要分类三类:  直接去重:时间复杂度 O(n²)  这个方法没啥好介绍的,就是遍历到元素时候再遍历检测是否是重复,由于有两层嵌套的遍历,所以它的性能不高,不过它对数据本身的影响是最小的。  排序去重:时间复杂度 O(nlogn)  先对数组做一次排序,然后遍历数组时相同元素都在邻近的位置,一次遍历就可以搞定。但是需要考虑一个问题,对象是可能无法比较大小的。这个算法那也许在C++之类的语言中可以很容易使用,但由于JavaScript无法直接取到对象的地址,所以排序就没...…

继续阅读