javaScript中原型链

一、原型链

js 的对象分为普通对象和函数对象。每个对象都有__proto__ 但是只有函数对象 (非箭头函数) 才有 prototype 属性。

new的过程:

1、创建一个空的简单 javaScript对象

2、将空对象的 __proto__连接到该函数的 prototype

3、将函数的this指向新创建的对象

4、函数中如果没有返回对象的话,将this作为返回值

原型链

实例对象都有一个__proto__, __proto__ 指向原型对象,原型对象里有个constructor就是构造函数,构造函数的prototype指向原型对象,因为原型对象也是对象,所以原型对象也有__proto__, __proto__指向原型对象的原型对象,也就是Object, Object也是对象,所有,Object也有__proto__指向Object的原型对象为null, 这就是原型链。

相关推荐
Lhan.zzZ4 小时前
Qt:动态库模块框架设计
开发语言·c++·qt
quantdash_cc5 小时前
如何从多只股票的历史行情构建收益率矩阵?Python 与 QuantDash 实战教程
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
不是万能的豆学长8 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
懂点Tech13 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
catchadmin14 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路14 小时前
go-grpc设计思想
开发语言·后端·golang
酷炫码神15 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
Elastic 中国社区官方博客16 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn18816 小时前
记录本地安装nacos服务的方法及异常
java·开发语言
步行cgn16 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc