JS中的原型及原型链的一点总结
2016-01-27 11:23
453 查看
最近两天一直在看js中关于原型和原型链的内容,没有特别理解,但自己总结了一些基础知识点。
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
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
相关文章推荐
- Javascript设计模式
- javascript中的3种继承实现方法
- JavaScript 关于Select和CheckBox的一些操作
- js 数组,MAP
- js-新兴的API,最佳实践,离线应用于客户端存储
- jsonp 使用总结
- js实现的彩色方块飞舞奇幻效果
- JavaScript下的时间格式处理函数Date.prototype.format
- JS中校验数组中是否有重复字符
- JavaScript JS异步加载table列表
- 基于JavaScript实现瀑布流效果(循环渐近)
- [JS]document.body.clientHeight的取值(转)
- seajs源码
- underscorejs-findWhere学习
- 软件开发过程中遇到的问题(Java 、JavaScript)
- underscorejs-where学习
- d3js+svg
- JavaScript设计模式--行为类型--命令模式
- JavaScript变量声明提升
- json的两种表示结构(对象和数组).。