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

相关推荐
Lumbrologist23 分钟前
【C++】零基础入门 · 第 3 节:条件判断(if、switch)
开发语言·c++·算法
l1t29 分钟前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程简介
开发语言·python
Lhan.zzZ41 分钟前
使用 ctx.lineDash 根治 QML Canvas 虚线残留问题(支持 Qt 5.12/5.14 等版本)
开发语言·qt
雨落在了我的手上42 分钟前
初识java(十一):继承
java·开发语言
xier_ran43 分钟前
【infra之路】从“三堵叹息之墙”到异构计算的狂飙
开发语言·c++·算法
Larcher1 小时前
数组去重算法:理论与实践深度解析
javascript·算法·代码规范
XinZong1 小时前
一起来聊聊?OpenClaw 的 Skill 是提效的技能工具,还是又一个吃灰的 App 柜?
javascript
yaoxin5211231 小时前
417. 现代 Java IO 最佳实践 - 高效遍历、ZIP 处理与临时文件管理
java·开发语言·windows
deepin_sir1 小时前
02 - 第一个 Python 程序
开发语言·python
卷帘依旧1 小时前
Transpiler和Polyfill分别是什么作用
javascript