文档章节

一图弄清JavaScript的继承与原型

一个灰
 一个灰
发布于 2018/11/07 15:31
字数 299
阅读 16
收藏 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
码字总数 21707
作品 3
南京
高级程序员
私信 提问
图解javascript原型链

作者: HerryLo 本文永久有效链接: https://github.com/AttemptWeb...... 原型链和原型对象是js的核心,js以原型链的形式,保证函数或对象中的方法、属性可以让向下传递,按照面向对象的说法,...

HerryLo
09/06
0
0
JavaScript继承(六)——寄生组合式继承

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

Bob2100
02/16
35
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

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
14
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部