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

相关推荐
霍营_托尼1 分钟前
微信小程序点餐项目实战:飞入动画、样式错位、弹窗不消失,7 个前端坑的完整排障记录
javascript·微信小程序·动效
青春逝如流水12 分钟前
Java 线程池的创建方式、注意要点与任务类型判断
java·开发语言·线程池·多线程·ai文章
徐小黑ACG13 分钟前
Golang goroutine、通道、锁
开发语言·后端·golang
开开心心_Every15 分钟前
内存清理工具定时自动清理开机自启动
java·开发语言·spring·计算机外设·ocr·intellij-idea·excel
纪念 22928 分钟前
c++ string(二)
开发语言·c++
李福春32 分钟前
斗破Google ADK Java苍穹-第5境斗灵-凝物通脉-Context与State
java·开发语言·人工智能·java-ee·google adk·深圳同盟·腾讯云架构师技术同盟
十年Java程序媛33 分钟前
Java 接口和抽象类对比|抛弃老旧八股,正确选型
java·开发语言·spring boot·后端
见叶之秋36 分钟前
【C++】从基类到派生类:关于C++继承的务实梳理
开发语言·c++
kyle~43 分钟前
C++ 智能指针:RAII、所有权与对象生命周期
开发语言·c++
y1su1 小时前
Leetcode 单调栈模板
java·开发语言·数据结构·算法·leetcode