码迷,mamicode.com
首页 > 其他好文 > 详细

原型,对象和原型链

时间:2016-07-14 08:34:01      阅读:195      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!