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

            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,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" 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. Azure构建PredictionIO和Spark的推荐引擎服务

    Azure构建PredictionIO和Spark的推荐引擎服务 1. 在Azure构建Ubuntu 16.04虚拟机 假设前提条件您已有 Azure 帐号,登陆 Azure https://port ...

  2. AndroidStudio1.1.0配置使用androidannotations

    1:从GitHub上下载最新版androidannotations-api-3.3.1.jar 2:新建Module:my-aa-test 3:将androidannotations-api-3.3. ...

  3. iOS 9之New UIKit for International User Interfaces

    金田 Apple一直是注重用户体验的典范,而此次在UI上面,更是做到极致.此次iOS 9的发布能完全支持阿拉伯语.希伯来语等书写和阅读方式为从右向左的语言环境.不仅仅是简单的基础文本,而是支持将界面翻 ...

  4. office web apps server 问题和解决办法

    New-OfficeWebAppsFarm –InternalURL "http://owa.zjkhlib.com" –AllowHttp –EditingEnabled 错误1 ...

  5. HDOJ 1326 Box of Bricks(简单题)

    Problem Description Little Bob likes playing with his box of bricks. He puts the bricks one upon ano ...

  6. Java虚拟机内存优化实践

    前面一篇文章介绍了Java虚拟机的体系结构和内存模型,既然提到内存,就不得不说到内存泄露.众所周知,Java是从C++的基础上发展而来的,而C++程序的很大的一个问题就是内存泄露难以解决,尽管Java ...

  7. 对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀

    功能简介 对象拷贝的应用现状简介: 业务系统中经常需要两个对象进行属性的拷贝,不能否认逐个的对象拷贝是最快速最安全的做法,但是当数据对象的属性字段数量超过程序员的容忍的程度,代码因此变得臃肿不堪,使用 ...

  8. Python偏函数实例

    目标: 1.编写一个gui,生成按钮 2.通过偏函数,生成按钮 3.通过装饰器,实现按钮输出信息功能 1.使用Tkinter,创建一个按钮 代码如下: handetiandeMacBook-Pro:~ ...

  9. 关于使用百度ueditor时的一些问题

    本来这些问题直接在百度贴吧里回答不就完事了,可是好死不死的,百度贴吧里老出现 未知错误,错误号:230274 看来还是算了,自己做一个随笔记录一下好了 关于我们获取里面的内容时,老是会有一个<p ...

  10. CentOS6.3(64位)下安装Oracle11gR2(64)服务器

    安装环境 Linux服务器:Centos6.3 64位 Oracle服务器:Oracle11gR2 64位 系统要求 1.Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内 ...