javascript类式继承模式#2——借用构造函数
2013-11-21 09:16
169 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>类式继承模式#2——借用构造函数</title> </head> <body> <script type="text/javascript"> function Article(){ this.tags=['js','ajax']; }; Article.prototype.say=function(){return this.tags;} /***************************************/ var article=new Article(); function BlogPost(){}; BlogPost.prototype=article; BlogPost.prototype.say=111; var blog=new BlogPost(); function StaticPage(){ Article.call(this); }; StaticPage.prototype={ x:100, y:function(){ return this.x; } } var page = new StaticPage(); //BlogPost的原型继承了new Article(),即使在BlogPost.prototype上添加属性方法,事实上还是给Article构造函数添加属性方法 console.log(blog); //将父类Article中的方法属性继承过来,其实就是拷贝过来,占为己有,并且可以覆盖父类中的属性方法,但并没有将父类的原型链拷贝过来; console.log(page); //构造函数模式缺点:调用父构造函数的原型,子构造函数能获取到父构造函数的属性和方法,但却未继承父构造函数的原型,即父构造函数__proto__所保存的链接没有继承给子构造函数。 //构造函数模式优点:可以复制父构造函数的属性和方法,并不会出现子构造函数覆盖父构造函数的意外风险,能实现多重继承,可以父子构造函数之间传递参数。 </script> </body> </html>
相关文章推荐
- JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
- JavaScript继承基础讲解,原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承
- javascript类式继承模式#3——借用和设置原型
- JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
- JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
- JavaScript构造函数+原型创建对象,原型链+借用构造函数模式继承父类练习
- js面向对象小结(工厂模式,构造函数,原型方法,继承)
- JavaScript2种构造函数创建对象的模式以及继承的实现
- JS继承之借用构造函数继承和组合继承
- 设计模式知识连载(6)---继承_2:创建即继承-构造函数继承
- 黑马程序员_Java基础_面向对象,封装,继承,单例设计模式,构造函数,构造代码块
- JS继承之借用构造函数继承和组合继承
- JavaScript面向对象(4)——最佳继承模式(深拷贝、多重继承、构造器借用、组合寄生式继承)
- JavaScript高级程序设计之面向对象的程序设计之继承之借用构造函数第6.3.2讲笔记
- javascript中继承(二)-----借用构造函数继承的个人理解
- javascript中的类继承(也叫借用构造函数继承)
- javascript继承,原型链继承、借用构造函数、组合继承
- Js面向对象漫谈(2) 继承--原型链,借用构造函数,组合式,寄生式, 寄生组合式
- 《JS高级程序设计》第6章读书笔记:继承对象(二)借用构造函数和组合继承
- js 组合继承(使用原型模式和构造函数模式)和原型式继承