javascript继承相关的函数

来源:互联网 发布:晨曦软件 编辑:程序博客网 时间:2024/04/30 15:01

 

1.非构造函数继承

 

  function object(o) {     function F() {}     F.prototype = o;     return new F();   }    var a = object({name:'xuyi'});

 

2.浅拷贝

 

  function extendCopy(p) {     var c = {};    for (var i in p) {       c[i] = p[i];    }    c.uber = p;    return c;  }


3.深拷贝[jQuery]

  function deepCopy(p, c) {     var c = c || {};    for (var i in p) {       if (typeof p[i] === 'object') {         c[i] = (p[i].constructor === Array) ? [] : {};        deepCopy(p[i], c[i]);      } else {         c[i] = p[i];      }    }    return c;  }



4.构造函数绑定

  function Animal(){    this.species = "动物";  }  function Cat(name,color){    Animal.apply(this, arguments);    this.name = name;    this.color = color;  }   var cat1 = new Cat("大毛","黄色");  alert(cat1.species); // 动物

5.prototype模式

  function extend(Child, Parent) {    var F = function(){};    F.prototype = Parent.prototype;    Child.prototype = new F();    Child.prototype.constructor = Child;    Child.uber = Parent.prototype;  }


6.拷贝继承

 

  function extend2(Child, Parent) {     var p = Parent.prototype;    var c = Child.prototype;    for (var i in p) {       c[i] = p[i];      }    c.uber = p;  } 



 

原创粉丝点击