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, 这就是原型链。

相关推荐
wangluoqi20 分钟前
c++ 树上问题 小总结
开发语言·c++
Go_Zezhou1 小时前
pnpm下载后无法识别的问题及解决方法
开发语言·node.js
前路不黑暗@1 小时前
Java项目:Java脚手架项目的 C 端用户服务(十五)
java·开发语言·spring boot·学习·spring cloud·maven·mybatis
一个处女座的程序猿O(∩_∩)O2 小时前
Python异常处理完全指南:KeyError、TypeError、ValueError深度解析
开发语言·python
好学且牛逼的马2 小时前
从“Oak”到“虚拟线程”:JDK 1.0到25演进全记录与核心知识点详解a
java·开发语言·python
shangjian0072 小时前
Python基础-环境安装-Anaconda配置虚拟环境
开发语言·python
codeJinger2 小时前
【Python】函数
开发语言·python
geovindu3 小时前
python: Command Pattern
开发语言·python·命令模式
Cosmoshhhyyy3 小时前
《Effective Java》解读第41条:用标记接口定义类型
java·开发语言
曲幽3 小时前
FastAPI实战:WebSocket长连接保持与心跳机制,从入门到填坑
javascript·python·websocket·keep-alive·fastapi·heartbeat·connection