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
相关推荐
telllong8 小时前
Python异步编程从入门到不懵:asyncio实战踩坑7连发
开发语言·python
吴声子夜歌10 小时前
Vue3——Vue实例与数据绑定
前端·javascript·vue.js
wjs202410 小时前
JavaScript 条件语句
开发语言
阿里加多10 小时前
第 1 章:Go 并发编程概述
java·开发语言·数据库·spring·golang
2301_7926748611 小时前
java学习day29(juc)
java·开发语言·学习
周末也要写八哥11 小时前
MATLAB R2025a超详细下载与安装教程(附安装包)
开发语言·matlab
blog_wanghao12 小时前
基于Qt的串口调试助手
开发语言·qt
挖稀泥的工人12 小时前
AI聊天界面的布局细节和打字跟随方法
前端·javascript·面试
竹林81812 小时前
从“连接失败”到丝滑登录:我用 ethers.js 连接 MetaMask 的完整踩坑记录
前端·javascript
颜酱12 小时前
图片大模型实践:可灵(Kling)文生图前后端实现
前端·javascript·人工智能