谈谈javaScript中的原型对象以及原型链
2019-07-20 10:48
37 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zaoqinghuan/article/details/96571048
谈到原型对象以及原型链,很多人都一头雾水。其实,万物之间都是普遍的, 联系的,我们可以借用生活中的事物来深入的理解原型链。那么,在弄懂原型链的概念之前,先要清楚构造函数和继承的概念。 一、构造函数 什么是构造函数?简单来说,就是描述一类对象统一结构的函数。什么时候来使用构造函数?只要反复创建相同结构的多个对象时,都要用构造函数。 1、定义构造函数 function Mother(age){ // 构造函数名首字母大写,便于区分 this.age=age; this.test = function(){ console.log(this.age) } } 2、调用构造函数创建新对象 var child = new Mother(属性值列表) new的作用: (1)创建新的空对象; (2)设置新对象继承构造函数的原型对象; (3)用新对象调用构造函数,this指向新对象; (4)返回新对象的地址。 构造函数的方法定义,会为每一个对象创建一个副本,这会导致重用代码,无法节约内存。继承可以解决这个问题。 二、继承 什么是继承?父对象的成员,子对象无需创建,就可直接使用。 什么时候使用?多个子对象,拥有相同的成员时,就应该在父对象中定义一个成员方法,这样所有的子对象就可以共用。这个父对象就是原型对象,即集中存储所有子对象共用成员的父对象。 我觉得,凡是所有子对象的共用成员,都应该定义在原型对象中,不再定义在构造函数中。 形如:构造函数.prototype.成员=值; 如:Mother.prototype.test=function(){......} 在这里要注意: (1)每创建一个构造函数,都会自带一个原型对象; (2)凡是new的都是构造函数; (3)构造函数负责创建子对象,原型对象负责保存所有子对象的共同成员函数。 三、原型链 什么是原型链?多级原型对象逐级继承形成的链式结构。保存着所有对象的属性和方法,控制着对象的属性,方法的使用顺序,即优先访问自己的,自己没有的,再去逐级往上在父对象中查找。
相关文章推荐
- 三张图搞懂JavaScript的原型对象与原型链
- javascript构造函数以及原型对象的理解
- JavaScript踩坑笔记06---原型对象、prototype、隐式原型、__proto__、原型链
- 谈谈我对原型以及原型链的理解
- 谈谈JS的核心技术:原型对象和原型链
- [转]浅谈 JavaScript的原型对象与原型链
- 深入分析JS原型链以及为什么不能在原型链上使用对象
- javascript中对象的定义、使用以及对象和原型链操作小结
- JavaScript使用原型和原型链实现对象继承的方法详解
- javascript中的对象详解,以及对象和原型链
- 深入分析JS原型链以及为什么不能在原型链上使用对象
- 三张图搞懂JavaScript的原型对象与原型链
- JavaScript原型以及原型链
- 三张图搞懂JavaScript的原型对象和原型链
- 三张图搞懂JavaScript的原型对象与原型链
- JavaScript(原型对象和原型链)
- JavaScript原型对象、原型属性、原型链
- javaScript的原型对象及原型链
- 三张图搞懂JavaScript的原型对象与原型链
- JavaScript 面向对象思想以及原型、继承