码迷,mamicode.com
首页 > Web开发 > 详细

js实现继承

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

标签:const   16px   实现   href   javascrip   on()   cto   style   log   

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

参考: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实现继承

标签:const   16px   实现   href   javascrip   on()   cto   style   log   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!