Javascript继承5:如虎添翼

1/* 2* 寄生式继承 3* 其实就是对原型继承的第二次封装,在封装过程中对继承的对象进行了扩展。 4* 也存在原型继承的缺点!! 5* 这种思想的作用也是为了寄生组合式继承模式的实现。 6*/ 7//声明基对象 8var book = { 9 name:'js book', 10 alikeBook:['Html','Css'] 11}; 12 13//原型式继承 14function inheritObj(obj){ 15 //声明一个过渡函数对象 16 function F(){} 17 //过渡对象的原型继承父对象 18 F.prototype = obj; 19 //返回过渡对象的一个实例,该实例的原型继承了父对象 20 return new F(); 21} 22 23function createBook(obj){ 24 // 通过原型继承方式创建对象 25 var object = new inheritObj(obj); 26 // 拓展新对象 27 object.getName = function(){ 28 console.log(this.name); 29 }; 30 // 返回扩展后的对象 31 return object; 32} 33 34var book1 = createBook(book); 35book1.name = 'css'; 36book1.alikeBook.push('javascript'); 37console.log(book1.alikeBook); // ['Html','Css','javascript'] 38book1.getName(); // css 39 40var book2 = new createBook(book); 41book2.name = '设计模式'; 42console.log(book2.alikeBook); // ['Html','Css','javascript'] 43book2.getName(); // css

设计模式中的经典笔录

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

js继承的几种方式

1.原型链继承原型链继承:想要继承,就必须要提供父类(继承谁,提供继承的属性)//父级functionPerson(name)//给构造函数添加参数this.namename;this.age10;this.sumfunction()console.log(this.name)//原

java面试(1)

1.面向对象的基本特征  封装、继承、多态、  封装:把客观事物封装成类  继承:继承一个类,就可以使用这个类的所有功能,并且在无需编写原来类的情况下对这些功能进行扩展  多态:子对象调用父对象,父对象会根据当前调用的子对象以不同的方式运作  实现多态:覆盖,重载2.final\\finally\\finalize的区别  fin

你不可不知的JS面试题(第二期)

1、什么是继承?子类可以使用父类的所有功能,并且对功能进行扩展。新增方法改用方法(1)、ES6使用extends子类继承父类的方法。// 父类    class A        constructor(name)            this.name name;                getNa

JavaScript学习总结(十七)——Javascript原型链的原理

一、JavaScript原型链ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。在JavaScript中,用__proto__属性来表示一个对象的原型链。当查找一个对象的属性时,JavaScript会向上遍历原型

Javascript继承5:如虎添翼 - HelloWorld