new操作符具体做了什么

一共4步

1.创建了一个新对象

2.把空对象和构造函数通过原型链进行连接

3.将构造函数的作用域赋给新对象(因此 this 指向这个新对象)。

4.如果构造函数返回了一个对象,则返回该对象;否则返回新创建的对象。

javascript 复制代码
        function Person(){}
        const p=new Person()
       
       // 1.创建了一个新对象
       const obj={}
       //2.把空对象和构造函数通过原型链进行连接
       obj.__proto__===Person.prototype
       //3.将构造函数的作用域赋给新对象(因此 this 指向这个新对象)。
       Person.call(obj)
       //4.如果构造函数返回了一个对象,则返回该对象;否则返回新创建的对象。
       return typeof result === 'object' ? result : obj
相关推荐
Shartin几秒前
CPT208-Human-Centric Computing: Prototype Design Optimization原型设计优化
开发语言·javascript·原型模式
独立开阀者_FwtCoder4 分钟前
你用 Cursor 写公司的代码安全吗?
前端·javascript·github
dme.12 分钟前
Javascript之DOM操作
开发语言·javascript·爬虫·python·ecmascript
摸鱼仙人~16 分钟前
React Ref 指南:原理、实现与实践
前端·javascript·react.js
teeeeeeemo17 分钟前
回调函数 vs Promise vs async/await区别
开发语言·前端·javascript·笔记
加油吧zkf22 分钟前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo
ejinxian37 分钟前
PHP 超文本预处理器 发布 8.5 版本
开发语言·php
zhanshuo1 小时前
鸿蒙UI开发全解:JS与Java双引擎实战指南
前端·javascript·harmonyos
JohnYan1 小时前
模板+数据的文档生成技术方案设计和实现
javascript·后端·架构
软件黑马王子1 小时前
C#系统学习第八章——字符串
开发语言·学习·c#