您的位置:首页 > Web前端 > JavaScript

JS中的原型及原型链的一点总结

2017-09-05 00:42 267 查看
1.JS中万物皆对象,但是分为两大类,函数对象,普通对象

2.所有的函数对象都有一个prototype属性,这个属性引用了一个对象,即原型对象,也称原型。然而普通对象是没有prototype属性,只有_proto_属性

3.原型对象就是普通对象,(Function.prototype除外,因为它是函数对象,但比较特殊,因为没有prototype属性)

4.类实例对象的内部_proto_指向它构造函数的prototype

5.obj.constructor === A.prototype.constructor,就是说类的实例对象的constructor属性永远指向构造函数的prototype.constructor,即使A.prototype不再指向原来A的原型

6.obj.constructor.prototype === A.prototype。当A.prototype改变,则不成立

7.类继承:(JS中没有类,这里只是指构造函数)。虽然继承了A构造函数对象的所有属性方法,但不能继承A原型对象的成员,而要实现这个目的,就是在此基础上再添加原型继承

8.原型对象主要用于继承,JS在创建对象的时候,(不论是普通对象 还是函数对象),都有一个叫做_proto_的内置属性,用于指向创建它的函数对象的原型对象prototype

9.原型对象prototype中都有个预定义的constructor属性,用于引用它的函数对象。比如说:person.prototype.constructor === person。

10.Object.constructor === Function。如何查找一个对象的constructor,就是在该对象的原型链上寻找碰到的第一个constructor属性所指向的对象

11.原型和原型链是JS实现继承的一种模型

12.原型链的形成是靠_proto_,而不是prototype
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: