复制继承:简单理解,就是把父对象上的所有属性复制到自身对象上;

            function Cat(){
this.climb = function(){
alert("我会爬树");
}
} function Dog(){
this.eat = function(){
alert("我会吃");
}
this.extend = function(parent){//extend方法实现了复制
for(var key in parent){
//console.log(key);
this[key] = parent[key];
}
}
}
var dog = new Dog();
console.log(dog);//这里没有climb方法
dog.extend(new Cat());//开始复制
console.log(dog);//这里有了climb方法

这是Google下的结果

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAAsCAIAAAAy6/y5AAAOVElEQVR4nO3c3VMbV5YA8PwPfkiVH/uB0rDlGrZ27aoUfnCo2kq5ajc469jxLPlghykwcRDKsCIQjBdYQwm8DMbAGE9WGjsWkSMPGoMByRQ05ssWFkZ8iEFaEUEkhGRbshBCLTWt7rsPlzSyJMSXbJTs+VVekCXd7pOr07dPd5+3EAAAgKT01jIAAICk9NZBHyEAAADEBgkaAACSFCRoAABIUpCgAQAgSUGCftMYhmlsbCwvL6dp+qC35ReLoiixWHzjxo2D3hAA9mX7BC2Xy1+8eBH/PQqFgiAIgiDS09PlcjnDMPvfMo7j+vv7MzIyioqKgsHgzj/IMuywRLv0ZHlv4y4tLeXn56ekpLz33ntLS0t7+xKMYZirV68+ffo04kWJRCKRSBISpf3YZ6AwY4f50R+e7PZT09PTWVlZBEFkZ2evrq7uZwNiBnltba2wsLCtrW2332Y2m0+cOFFUVLTPrQIgIbZP0BUVFVVVVT09PRRFxXwDwzAVFRVarRYhZLPZsrKyHj58uP8ts9lsQqHQbrfv9oPBlWBnnmZl0buHQWmaLi8vHxgYYFl2Dx+P4PV6RSKR1Wrd/1e9DvsJFG+o+tH8g4VdfcTj8QiFQoPBwHHcfobGEh7kYDBYVlY2PT2dqC8EYM92lKCx2trasbGx6Mzl8/nEYrHFYsF/ymQypVLJcdzg4OD777+fkpIiFApdLhdCiGGY9vb2jIwMgiAyMjI6OzvjjKvVaiUSCf8bZijmcYOugWhtIFrH/zTJMizikKV/8c8ZCsmhxut//+dHf3gSokNqUZ/kUCP/n65Vjz9uNBpPnTplNBrj76zVahWJRF6vN/rP0dHR2tpahFBPT49MJqupqREIBPn5+R6PByFE07RcLk9PTycIAq+/SktLiTAymYzjuPv37x87diw3N5dfoMUMVMwhdig6UB7LiuqzLv8LCnFoum226/Ne6mUgZqAod6CvdPDK4eaWI1JjpxkhZOww667ryUvDVw43qz7tCrwMIISCqzR5abiBaK17u6n1H26+mHPhodva2goLC9fW1uJvoV6vD6/whP+pUCiUSiVN09XV1Wq1OisrSyAQSKVSPA2cTmdZWZlAICAIQqVS0TQdHWSGYaRSqUAgqKys5IfgJ55AIKipqVlbW9tqCISQ1+sVi8UOh2PnMQfgNdlFgsaam5vNZnP4GyKSWn19vVKp1Gq12dnZNpuNZVmZTCaTyRBC3d3dRUVFHo8HL1T1ev1Wg9I0XVdXp9Fo8J8sw2qvjS8OWjmWc5ncOFPYdY7vz9xb+dGLOKS9Nm7s2Ngq22P7QMUIenVxNj09nZmZOT8/v9WIBoPh6NGj/E89JSVFp9Pp9frLly/jWoRCoVCpVAghpVL5zjvvaDQan8/39ddfm81mhmGampquXbvm9/vDv1On04UfYzwej1qtdjgceXl5/IovZqCih9jmf9JPYgYKcWhCOm0fdywOWtWiPtq3HjNQtG/94X+NPp91cSz347BNLepjAqEp+Wzz3/2PqWue9tHqL/tdJncoGNIUkZO3ZliGffmD5/55TXBlowAllUqLi4u3OtNCCJEkGZ5PT5w4YbFY8NEIIcRxnEQi0el0FEWJRKJz584tLCyYTKaysjKKolwuV35+PkmSEUuEiCAvLCwMDQ2ZTKYvvviCn5Pt7e38xKuoqCBJMuYQ+M0Wi+Wrr76CEgdIBglI0OErIDzvh4eHKysrp6am8BtGR0fr6+t9Pl9xcfHi4iJCyOVyFRQUbLVIUalUqampKpWK/ym6TO4//lomOdRY93bTt+99b+lfZBm2/+LQ0tgyQihEhx6ISfv4xrdN3pqZvDWzt3Dg5X/4ligUCoQQwzCXL1/GR5Ta2trr169zHMcvtcxms1gsjv5JKxQK/PFwVqu1pKTE5/MhhGiajg5UzCF2uP3RgcL5d83pH6p53Jmn8Tk2l7cRgbKOLNW93SQ51HjlcPPdcx0O/TOE0EDlyOMGHeJQcCXYfaF3ddnnnHreWzwQCoYQQvZxR//FIZbZRTmIYZiqqipcEMPq6+tHR0cRQj6fr6SkxGq1ut3uc+fOTUxMIIT4Y6RSqbx582Z0VSRmkMOPrF6vt6ioiK+V4QNtzCHwGwKBQGVl5dGjRw0Gw873C4DXIQElDpVKhVdACKGJiYmcnByLxSISidxuN0KI47jm5maSJB0Oh1gsxosakiQLCwsj1pvhJiYmysrK+GuD1pGlgcqR8DfQPrqnsA/XT52Tz9r++e7qsg8hhDg0UDFie7zryjX6qQDNr+s5jqupqcGpxGg0fvTRR1ar1e/3l5aWmkwmhJDFYhGLxT6fT6vV4upHOH49GPG6TqerqqrC6cDtdkcHKuYQO9yF6EBtvP7Ifu+3PePfTG4m06hATclnp+Sz4Z9aX1tXi/pwBcNt9nRf6KV99PyDBXxVkGXYvtLB3R4LI0rGfr+fP0UYHBzMycnxer0mk6m0tBRPD3521dbWhqf1jZ3YIsjhc9JsNpeXl+MFMk3Tly5dMhgMMYfAbt++nagL3QDsUwIuEtbX15MkyTCMTqfLzMwcHR31er3nz5+fmppiWVaj0eTm5no8HofDcf78ebvd/vTp05MnT+Kl4lYMBkN4DdH22N7+yX3KtbkBtI/uzNU4J5+t/Oi9+5uOu+c68In2up/pvtBrHX3l7oulpaUzZ85E/7wj4ItX/HKVoqiSkpKpqSmn05mfn3/69Gm32+1wOIRCIS4K8yfXer3+woULOM/y8J1eY2NjEaMolUq5XO50OlUq1VaBih4CIfTs2bOzZ8/29vbG2YXoQCGE7OOOe7/t8TnWZu7MLQ5uZMboQM3cmestHmCozcS0uuzr+J0a1535esj8g4W+0kGGYiZvzbT+402+stTb2/vpp5/iGnocEYcct9udn59vt9tNJtOHH34oEokoiiJJkp8e/Pq6paVFKpVG5M2tglxbW4sLHSRJWq3WnJwcm81G0/S333578eJFmqZjDoFePWAAcOD2e5ud3+8vKCggCAJfzpqZmcHZ5NGjR+np6QKBQCQSOZ1OhBDDMM3NzampqUKhsLq6uqenJ86gfF0SCwVDwxJtA9EqOdT4x1/LXCY3Qmj2rrGBaP3uVPt02+yD/yDX/Rs/XWOnueWIVHKocaR2IyPbbLbTp0/j89k4DAZD+LKd47j29naBQHD27NnOzs7KykqKoiKuaPEFEJlMlpaWRhAETjH4G9RqNb5s2NjYyI+i1+uPHTuWlZX1ww8/xAxUzCEQQk6nMzMzE9fBtxIdqGeGF23/8he8CsaZOuilYwYq4Amqv+y/crhZcqjx1j/doVyUfdzxQEyG6BAKq4f4n1N/+bfOBqL1cYPugZi0jmykeI1Gk52dve31zPDMiH66KzwlJSUvL6+jowP/U0tLC54e4ScTLpdLKBSmpKQQBBFehooZZLVafeTIEXzRleM4lUqVlpaWlpZWU1ODK1Exh0AIhZ/nAXDgDuBBFafTWVBQMDc3F+c99fX1Go0mIbdh7RDDMHK5/Pbt229sxF3hOM5gMHz88ce4iP8zFQgE6urqEnIX5uvAsmxHR0d1dTXUN0CSeHMJ2mw2Hz9+HN9g19XVFT/5TkxMvPvuu7t9RGXPFAoFfwPWGxhuD+rq6vLy8uLchZLkcEE/LS0N3wl30JsTA35Ehb/TEYBkAI96AwBAkoIEDQAASQoSNAAAJKltEvQKAACAAwIraAAASFKQoAEAIElBgn7ToGH/G5A8DftZhh2p0/LP+/xMwaQ9KNCwPxI07N+VX1jD/v3wP6fu5fT4n7/ynD3LsAMVIwMVI3FaSq0sensK+2jf3nNf0k5a3D3t5MmTs7Oz278bRIGG/a+Ahv279ctr2L9nzqnnmt/3M4Fdr5RjNsjdueSftPfu3UuGs5mfI2jY/wpo2A8N+3ciFAxNSKdxJ5Ouzx/gpBx5MsGhv6lMTb/6pv3j+3z/k9H6J9Pfzd44dutJy0T7J1249DF5a2bkytj3H/71yuHmmTt/4zN1oibtVjubwEkbP54tLS0kSe48vIAHDfs3QMN+aNi/8yCP/vfYyJWx9bX18NcjTiYCLwPGTvPqsq/9k/v4NCVEhzS/7+/M1Rg7zdLjcrPa0n9xKLhK95UN3vlX1ct5j8eywh8FUeImbcydTeykjRPPYDBYXl4+M7PHFu3/z0HD/ldAw35o2L8tl8ndfaGXXxRj4b2zw4XXl9fX1rs+77XrHLpW/fifJu06x1D1o+BK8O5vOuw6B0LI/5zq+J06olvstradtDF3NrGTNk48OY7TaDSpqanh/SnBDkHD/rDvhIb90LB/B2IGeWXRq/psc/HLsz2295UO4rCvLvs0RSTlovovDr2Ycxk7zDN35txmj6aIxIvxpbHl3d7vsZNJG3NnEztp48Rzbm6uuLh4V2U6wIOG/ZugYT807B8aGvrggw/i3whhH3f89d+7I4LsMrnVX/bTvvVnMy/0NzcPWlPy2QnpNA6+fdwxUqcNrgQ1RWTgZWCkTovrTn1lgxzL+Rxr3Rd6+f7aCZy0MXc2sZN2q3iin64rxN8LsBVo2L8JGvZDw/6HDx9mZGTwV7xjYhlWd12Pg9yZq8ETz/+c+v7Mvbq3m1SfdXmtm3UD+7ij6VfffHeq3f2/L2fuzOElM/mfwwFPsLd4YGXRa+lfvHHsluRQo/S4nC9JoYRO2pg7m9hJu1U8w2uDYA+gYf8GaNj/BiR5w36GYRQKBV5iH/S27EiST1qE0Pz8fF5eHk7iYA+gYT9C0LD/9Uv+hv34MtfVq1f3+eDMG5Pkk5Z/RCW6og12Dh71BgCAJAUJGgAAkhQkaAAASFLQsB8AAJIUrKABACBJQYIGAIAkBQkaAACSFCRoAABIUpCgAQAgSUGCBgCAJPV/tP4m+lnFZ20AAAAASUVORK5CYII=" alt="" />

对于js原型和原型链继承的简单理解(第三种,复制继承)的更多相关文章

  1. 对于js原型和原型链继承的简单理解(第一种,原型链继承)

    原型是js中的难点加重点,也是前端面试官最爱问的问题之一,因为面试官可以通过被面试者对原型的理解.来判断被面试者对js的熟悉程度. 原型的定义 Js所有的函数都有一个prototype属性,这个属性引 ...

  2. 对于js原型和原型链继承的简单理解(第二种,对象冒充)

    关键代码    this.parent = Cat;    this.parent.apply(this); function Cat(){ this.climb = function(){ aler ...

  3. 深入理解OOP(三):多态和继承(动态绑定和运行时多态)

    在前面的文章中,我们介绍了编译期多态.params关键字.实例化.base关键字等.本节我们来关注另外一种多态:运行时多态, 运行时多态也叫迟绑定. 深入理解OOP(一):多态和继承(初期绑定和编译时 ...

  4. js 继承的简单理解

    什么是继承 js中的继承就是获取存在对象已有属性和方法的一种方式. 继承一 属性拷贝 就是将对象的成员复制一份给需要继承的对象. // 创建父对象 var superObj = { name:'liy ...

  5. JS继承(简单理解版)

    童鞋们,我们今天聊聊js的继承,关于继承,平时开发基本用不到,但是面试没有不考的,我就想问,这是人干的事吗? 好吧,迫于社会主义核心价值观,我们今天就来简单说一说js的继承,谁让它是面向对象编程很重要 ...

  6. js架构设计模式——你对MVC、MVP、MVVM 三种组合模式分别有什么样的理解?

    你对MVC.MVP.MVVM 三种组合模式分别有什么样的理解? MVC(Model-View-Controller)MVP(Model-View-Presenter)MVVM(Model-View-V ...

  7. CSS设计指南之CSS三种机制:继承、层叠和特指

    一.继承 CSS中的祖先元素也会向后代传递一样东西:CSS属性的值.body元素是所有元素的祖先,所有标签都是它的后代,比如为body元素设置一种字体,那么文档中的所有元素,无论它在层次结构中多么靠下 ...

  8. JS判断一个数组中是否有重复值的三种方法

    方法一: var s = ary.join(",")+","; for(var i=0;i<ary.length;i++) { if(s.replace( ...

  9. JS 深拷贝和浅拷贝概念,以及实现深拷贝的三种方式

    一.理解堆栈,基本数据类型与引用数据类型 1.堆栈 栈(stack):系统自动分配的内存空间,内存会由系统自动释放,用来存放函数的参数值,局部变量的值等,特点是先进后出. 堆(heap):系统动态分配 ...

随机推荐

  1. 浮点数比较问题(float x 与 '零值'比较)

    今天在牛客网上看到一道面试题,看完之后着实吃了一惊,自己平常都没有在意,看似简单的问题,实则考验了语言的基本功. 据说这是腾讯的面试题: float x 与“零值”比较的if语句为? if (x == ...

  2. IDEA启动自动进入最后一个项目

    每次打开IDEA的时候总会加载上级最后打开的工程,可能这个工程并不是我需要的,我就得重新去打开我需要的工程,感觉这一点非常鸡肋. 使用如下方法可以在启动的时候,选择启动哪个工程,而不是直接进入. Fi ...

  3. android禁用光感按键

    用RE浏览器打开/system/usr/keylayout下的qwerty.kl文件, 找到key 158 BACK key 139 MENU key 102 HOME 分别在其之前加下#号,如下: ...

  4. 体验Lua

    想用之和NGINX结合,终结公司混乱的NGINX配置 玩起来先,感觉很精简,很实用哟. print("hello world") a={,} b=a print(a==b,a~=b ...

  5. keep out layer PK board shape

    在进行设计pcb时,注意:板边线只能用PLACE LINE画线条,不能画具有电气性能的导线关于边界设置有三种,一.在 keepout layer 定义电气边界.二.design->board s ...

  6. PCB设计备忘录

    在PCB设计过程中,常常有很多细节只有在实践中才能体会到其重要性,本人记性不好,索性把相关的注意点记录下来,也顺便希望能够给读者朋友们一些帮助. 接插件以及连接器比较常用的针脚之间间距有2.54mm/ ...

  7. Windows 中默认安装的.Net 版本

    Windows contains a version of .NET by default. Here's a listing of them. XP .NET v1.0 -- Service pac ...

  8. 【转】Android adb shell操作时出现“ XXX ... Read-only file system”解决办法--不错

    原文网址:http://blog.csdn.net/whu_zhangmin/article/details/25364349 手机连接PC后 adb shell su rm -r /system/a ...

  9. 重温Java的类加载机制

    原文地址:http://blog.csdn.net/hitxueliang/article/details/19992851 首先简要的说一下类加载器   我们知道,虚拟机的指令存储在以.class为 ...

  10. Apache-common项目提供的工具

    ---- MD5加密与生成UUID例子(依赖于commons-io.jar):begin ------------------------------------------------------- ...