博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原型和原型链
阅读量:4610 次
发布时间:2019-06-09

本文共 814 字,大约阅读时间需要 2 分钟。

一://1.什么是原型,你可以这样理解:每一个javascipt对象(除null外)在创建的时候就会与之关联另外一个对象,这个对象就是我们说的原型,每一个对象都会从原型‘继承’属性

//2.__proto__是每一个javascript对象(除null外)都具有的一个属性,他会指向对象的原型(也叫实例原型)
//3.实例对象和构造函数都可以指向原型,原型是否有属性指向构造函数和实例呢?指向实例是木有的,因为一个构造函数可以生成多个实例
//但是每个原型都有一个constructor指向关联的构造函数
//4.当读取实例中的属性不存在时,就会查找与对象关联的原型中的属性,还查不到就会去找原型的原型,一直到最顶层为止,
//5,既然原型也是一个对象,那么我们就可以以最原始的的方式创建它,

var obj = new Object()obj.name = 'ka'console.log(obj.name)

//其实原型对象就是通过Object构造函数生成的

其中蓝色线由相互关联的原型组成的链状结构就是原型链

二://其他大家可能不会注意的地方

function Person(){}var person = new Person()console.log(person.constructor === Person)//true

//因为当获取person。constructor属性的时候,其实不存在,这时会从原型中读取,也就是Person.prototype,而原型中有这个属性

//__proto__ 他是来源于Object.prototype与其说他是一个属性,不如说他是一个getter/setter,当使用obj.__proto__时,可以理解为返回了Object.getPrototypeOf(obj)

转载于:https://www.cnblogs.com/wangxi01/p/8387260.html

你可能感兴趣的文章
Reporting Services开发步骤
查看>>
Redis内存模型
查看>>
ubuntu16.04 server安装小记
查看>>
2016年 蓝桥杯决赛体验
查看>>
证明根号2为无理数
查看>>
1.Hibernate配置
查看>>
修改Echarts 图表的坐标轴的文本的排列位置
查看>>
2017 acm icpc 沈阳(网络赛)5/12 解题报告
查看>>
Java NIO 学习笔记
查看>>
Linux编译安装MySQL5.6
查看>>
之前的项目有希望了
查看>>
解決BufferedReader读取UTF-8文件中文乱码
查看>>
常用类课后作业
查看>>
典型用户分析
查看>>
openSUSE 装机
查看>>
别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(4)
查看>>
[iOS]浅谈NSRunloop工作原理和相关应用
查看>>
android下ListView的奇异异常大集合(持续更新)
查看>>
自定义scrollbar
查看>>
GetLastError返回值含义
查看>>