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
相关推荐
华仔啊11 分钟前
JavaScript 如何准确判断数据类型?5 种方法深度对比
前端·javascript
listhi52015 分钟前
对LeNet-5的matlab实现,识别MINST手写数字集
开发语言·matlab
qq_4335545418 分钟前
C++ manacher(求解回文串问题)
开发语言·c++·算法
csbysj202023 分钟前
Chart.js 饼图:全面解析与实例教程
开发语言
浩瀚地学30 分钟前
【Java】常用API(二)
java·开发语言·经验分享·笔记·学习
程序员小寒31 分钟前
从一道前端面试题,谈 JS 对象存储特点和运算符执行顺序
开发语言·前端·javascript·面试
七夜zippoe41 分钟前
事件驱动架构:构建高并发松耦合系统的Python实战
开发语言·python·架构·eda·事件驱动
古城小栈1 小时前
Rust Trait 敲黑板
开发语言·rust
爱健身的小刘同学1 小时前
Vue 3 + Leaflet 地图可视化
前端·javascript·vue.js
神秘的猪头1 小时前
Ajax 数据请求:从零开始掌握异步通信
前端·javascript