文档章节

一图弄清JavaScript的继承与原型

一个灰
 一个灰
发布于 2018/11/07 15:31
字数 299
阅读 12
收藏 1

其中Function、Object是JavaScript的内建类,JavaScript的类实际上是一个function

而function对象会凭空多出一个prototype属性

这就是一切困扰的起源

凡是function类型的对象,constructor都指向Function,包括Function自己

凡是function类型的对象,原型(__proto__)都指向Function.prototype包括Function自己

一切function都是Function类的实例,Function又是继承自Object。而Object也是一个function。

function对象默认会自带一个prototype属性,这个属性是一个Object类型,一般该属性对象都能从其__proto__属性去寻找父类,唯独Object.prototype的__proto__属性是null

当然由于JavaScript的动态性质,这一切都可以改变,你可以任意更改属性的指向,为所欲为。

比如说,把一个function对象的prototype删除掉,那么就无法继承这个对象了。系统中的Proxy就是这种货色。

© 著作权归作者所有

一个灰
粉丝 28
博文 33
码字总数 21699
作品 3
南京
高级程序员
私信 提问
JavaScript继承(六)——寄生组合式继承

JavaScript继承(三)——组合继承中讲到,组合继承是JavaScript中最常用的继承模式,但是它也有自己的不足之处,现在我们就来剖析它的不足,如下示例: 使用组合继承让继承实际上分为两步:...

Bob2100
02/16
23
0
由一段代码引发的关于Object和Function的鸡和蛋问题的思考

作为一名前端开发者,我们都知道JS是单继承的,而Object.prototype是原型链的顶端,所有对象从它继承了包括toString()、valueOf()等等公共属性。 鸡和蛋问题的由来 首先和都是构造函数,而所...

米淇淋
06/01
0
0
简单理解JavaScript原型链

简单三连 什么是原型 ? 我是这样理解的:每一个JavaScript对象在创建的时候就会与之关联另外一个特殊的对象,这个对象就是我们常说的原型对象,每一个对象都会从原型“继承”属性和方法。 什么...

森林小猎人
05/07
0
0
JavaScript 原型精髓,读完这篇就够了

一篇文章让你搞清楚 JavaScript 继承的本质、、、 都是什么。 很多小伙伴表示不明白 JavaScript 的继承,说是原型链,看起来又像类,究竟是原型还是类?各种 、、 内部变量更是傻傻搞不清楚。...

linesh
2018/10/23
0
0
全面理解面向对象的 JavaScript

简介: JavaScript 函数式脚本语言特性以及其看似随意的编写风格,导致长期以来人们对这一门语言的误解,即认为 JavaScript 不是一门面向对象的语言,或者只是部分具备一些面向对象的特征。本...

IBMdW
2013/04/21
1K
6

没有更多内容

加载失败,请刷新页面

加载更多

Taro 兼容 h5 踩坑指南

最近一周在改造 公羊阅读🐏 Taro 版本适配 h5 端,过程中改改补补,好不酸爽。 本文记录📝遇到的问题,希望为有相同需求的哥们👬节约点时间。 Taro 版本:1.3.9。 client_mobile_taro...

dkvirus
今天
4
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
今天
3
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
今天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
今天
19
0
java数据类型

基本类型: 整型:Byte,short,int,long 浮点型:float,double 字符型:char 布尔型:boolean 引用类型: 类类型: 接口类型: 数组类型: Byte 1字节 八位 -128 -------- 127 short 2字节...

audience_1
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部