JS原型链
2018-08-10 11:46:05来源:博客园 阅读 ()
原型链
- 每一个实例都有自己的原型,可以__proto__访问
- 构造函数,通过new创建实例
- 构造函数通过prototype指向原型对象
- 原型对象通过constructor指向构造函数
- 如下图所示:
- 访问对象中的属性,如果不存在,那么会在原型中查找,如果还没有,继续在原型中查找
继承
1 构造函数
function Parent(name) { this.name = name } function Child(age) { Parent.call(this); this.age = age }
2 原型链
child.prototype = new Parent()
缺点:当存在引用类型的时候,一个实例数据的改变,另一个也会改变,例如 P1.friend = ['Jany', 'LiMINg'],当P1增加一个朋友,另外的实例也会增加。
3 组合继承
把公共数据放在Parent中,这样的话就不会公用一个引用类型
1 function Parent(name) { 2 this.name = [‘Jang’,‘Dany’] 3 } 4 function Child(age) { 5 Parent.call(this); 6 this.age = age 7 } 8 child.prototype = new Parent()
4 优化组合继承
function Parent(name) { this.name = [‘Jang’,‘Dany’] } function Child(age) { Parent.call(this); this.age = age } Child.prototype = Object.create(Parent.prototype) Child.prototype.constructor = Child
判断原型和实例的关系
1. instance instanceof object,只要是原型链中的都可以 2. object.prototyoe.isprototypeoof(instance) 3. object.prototype.tostring.call(instance)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Http协议入门
下一篇:BFC块级格式化上下文
- 2.语义化 2020-01-21
- 学习笔记1.1软件需求之快速原型(源于慕课教学总结学习经验 2019-09-17
- javascript进阶-原型prototype 2018-06-24
- 使用CSS3制作导航条和毛玻璃效果 2018-06-24
- 原型模式---设计模式(16) 2018-06-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash