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

            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. android 模拟微信消息框 BaseAdapter()方法 [2]

    在昨天的微信布局的基础上加内容 http://www.cnblogs.com/Seven-cjy/p/6098024.html 项目下/res/layout下创建一个 listview_layout. ...

  2. 找出指定目录下,大于指定大小的文件(LINUX SHELL)

    当前目录下: find ./ -size +2048k |xargs du -b|awk '{print $1/1024/1024 "M" $2}'|sort -n ...... ...

  3. FE: CSS固定图片显示大小及GitHub Pages在线演示

    CSS固定图片显示大小 分析 假设图片区域的大小固定为250×300px,那么我们可以写出如下的样式 .picture-area { width: 250px; height: 300px; marg ...

  4. HDU_2033——时间加法

    Problem Description HDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱.这个题 ...

  5. Eclipse默认配色的恢复方法

    Eclipse默认配色的恢复方法 很多搞开发的同学一开始不喜欢默认的eclipse白底配色,去网上千辛万苦搜到了很多黑底暗色的各种eclipse配色然后import上了,之后却发现并不适合自己,想找默 ...

  6. bui上手体验

    在最近的项目中,接触到了bui这个后台管理框架 主页地址:http://builive.com/ 主页上也有一个后台管理的Demo:http://builive.com/apps/default/ma ...

  7. Android软键盘强制弹出,隐藏输入法.

    本文实例讲述了Android实现弹出键盘代码,是一个非常实用的功能.代码非常简洁.分享给大家供大家参考. 具体功能代码如下: ? 1 2 3 4 5 6 7 8 Timer timer = new T ...

  8. 《python源代码剖析》笔记 python中的Dict对象

    本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.PyDictObject对象 -->  C++ STL中的map是基于RB-tre ...

  9. 如何让asp.net mvc 直接运行mobile页面

    在controller里面加上下面一句 HttpContext.SetOverriddenBrowser(BrowserOverride.Mobile);

  10. QLCDNumber设置背景色和显示数字颜色

          只看楼主 倒序阅读楼主  发表于: 2013-10-22          //LCD时间显示    QLCDNumber *m_pLcdTime = new QLCDNumber(thi ...