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
相关推荐
周杰伦fans15 分钟前
C# 中的**享元工厂**模式
开发语言·数据库·c#
u***u68522 分钟前
C++在系统中的异常处理
java·开发语言·c++
爱学测试的雨果30 分钟前
收藏!软件测试面试题
开发语言·面试·职场和发展
sen_shan35 分钟前
《Vue项目开发实战》第八章:组件封装--vxeGrid
前端·javascript·vue.js
2***574239 分钟前
Vue项目国际化实践
前端·javascript·vue.js
3秒一个大1 小时前
JavaScript 作用域:从执行机制到块级作用域的演进
javascript
安然无虞1 小时前
JMeter性能测试工具·下
开发语言·测试工具·jmeter
4***R2401 小时前
C++在音视频处理中的库
开发语言·c++·音视频
星空的资源小屋1 小时前
VNote:程序员必备Markdown笔记神器
javascript·人工智能·笔记·django
embrace991 小时前
【C语言学习】结构体详解
android·c语言·开发语言·数据结构·学习·算法·青少年编程