首页 > Web开发 > 详细

js实现继承

时间:2017-12-11 19:23:19      阅读:214      评论:0      收藏:0      [点我收藏+]

一、使用构造函数实现"继承 

参考:Javascript面向对象编程(二):构造函数的继承

 

 function extend(Child, Parent) {

    var F = function(){};  // 利用空对象作为中介   F是空对象,所以几乎不占内存。

    F.prototype = Parent.prototype;

    Child.prototype = new F(); 

    Child.prototype.constructor = Child;  //不会影响Parent

    Child.uber = Parent.prototype; // 备用

  }

 

二、非构造函数的继承

参考:Javascript面向对象编程(三):非构造函数的继承

 

   // 浅拷贝

  function extendCopy(p) {

    var c = {};

    for (var i in p) { 
      c[i] = p[i];
    }

    c.uber = p;

    return c;
  }

 

       // 深拷贝

  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;
  }

js实现继承

原文:http://www.cnblogs.com/lxf1117/p/8024440.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!