首页 > 其他 > 详细

原型,对象和原型链

时间:2016-07-14 08:31:18      阅读:286      评论:0      收藏:0      [点我收藏+]

普通对象与函数对象
JavaScript 中,万物皆对象!但对象也是有区别的。分为普通对象和函数对象,Object ,Function 是JS自带的函数对象。

原型对象
在JavaScript 中,每当定义一个对象(函数)时候,对象中都会包含一些预定义的属性。其中函数对象的一个属性就是原型对象 prototype。注:普通对象没有prototype,但有__proto__属性。
优点:包含可以让所有实例共享的属性和方法
缺点:省略了为构造函数传递初始参数;所有实例在默认情况下的参数一致
共享
用途:面向对象

原型链
JS在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__的内置属性,用于指向创建它的函数对象的原型对象prototype。我们把这个有__proto__串起来的直到Object.prototype.__proto__为null的链叫做原型链。
原型链是由一些用来继承和共享属性的对象组成的(有限的)对象链。
construct

hasOwnProperty是Object.prototype的一个方法,它可是个好东西,他能判断一个对象是否包含自定义属性而不是原型链上的属性,因为hasOwnProperty 是 JavaScript 中唯一一个处理属性但是不查找原型链的函数。

原型,对象和原型链

原文:http://www.cnblogs.com/qitiandandan/p/5668979.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!