js基础七-- 原型、原型链
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了js基础七-- 原型、原型链,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2080字,纯文字阅读大概需要3分钟。
内容图文
![js基础七-- 原型、原型链](/upload/InfoBanner/zyjiaocheng/1019/1760565676df4210b2bb301b86638194.jpg)
一、原型
实例对象中有__proto__这个属性,叫原型,也是一个对象,这个属性是给浏览器使用,不是标准的属性
构造函数中有prototype这个属性,叫原型,也是一个对象,这个属性是给程序员使用,是标准的属性
实例对象中__proto__指向的就是该实例对象中的构造函数中的原型对象prototype
构造函数中的prototype里面的属性或者方法,可以直接通过实例对象调用
原型:是function对象的一个属性,它定义了构造函数创建对象的公共祖先。通过该构造函数创建出的对象,可以继承该原型上的属性和方法,同时,原型也是对象。
原型的作用:数据共享、节省内存空间
(本身在构造函数中定义的属性和方法,当实例化(创建)对象的时候,实例对象中的属性和方法都是在自己空间中存在的,如果是多个对象,这些属性和方法都会在单独的空间中存在,浪费内存空间所以,为了数据共享,把想要节省空间的属性或者方法写在原型对象中,达到了数据共享,实现了节省内存空间。
下面代码在原型上定义了一个lasName属性,构造函数自身自带name属性,那么通过该构造函数创建的示例对象既可以访问构造函数自身内部的属性,也可以访问原型上的属性
如何查看原型:隐式属性 __ptoto__
对象如何查看对象的构造函数 construtor (对象.constructor 返回创建该对象的构造函数,这个构造器在构建该对象的构造函数的原型上)
二、原型链
原型链:是一种关系,实例对象和原型对象之间的关系是通过__proto__原型来联系起来的,这个关系就是原型链
如何构成原型链?
总结:
原型指向可以改变
实例对象的原型__proto__指向的是构建该对象的构造函数的原型对象
构造函数的原型对象(prototype)指向如果改变,实例对象的原型(__proto__)指向也会发生改变
实例对象和原型对象之间的关系是通过__proto__原型来联系起来的,这个关系就是原型链
三、构造函数和实例对象和原型对象之间的关系
构造函数,原型对象,实例对象之间的关系
1、实例对象通过构造函数创建(构造函数可以实例化对象)
2、有构造函数就有原型对象(构造函数中有一个属性prototype,是构造函数的原型对象,换言之,原型prototype对象是通过构造函数prototype属性(对象)生成 )
3、构造函数的原型对象(prototype)中有一个constructor构造器,这个构造器指向的就是自己所在的原型对象所在的构造函数
4、实例对象可通过__proto__原型共享prototype原型对象中的方法(方法在实例对象中不占据空间)(实例对象的原型对象__proto__指向的是该构造函数的原型对象prototype,构造函数的原型对象prototype中的方法是可以被实例对象直接访问的【共享】)
内容总结
以上是互联网集市为您收集整理的js基础七-- 原型、原型链全部内容,希望文章能够帮你解决js基础七-- 原型、原型链所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。