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
相关推荐
梦雨生生16 小时前
java开发工具(学习第一天)
java·开发语言·学习
光影少年16 小时前
RN的Fabric 渲染流程
运维·前端·javascript·react native·react.js·fabric
啊啊啊啊啊!!!!17 小时前
【c++】stack和queue的接口使用以及底层实现
开发语言·c++
用户9385156350718 小时前
React Router 进阶:路由守卫、登录鉴权与状态传递
前端·javascript·全栈
kyriewen18 小时前
我重写了自己用了两年的防抖节流Hook——发现里面藏着3个隐藏bug
前端·javascript·面试
松仔log18 小时前
Java中级——组合和继承
android·java·开发语言
漂流瓶jz18 小时前
Webpack开发环境:观察模式/webpack-dev-server/HMR热更新
前端·javascript·webpack
小爬的老粉丝19 小时前
Vue 3 文件预览生产排障:Worker/WASM 404、鉴权 Blob 与子路径
javascript·vue.js·wasm
亲亲小宝宝鸭19 小时前
离谱架构系列——我在祖传代码里发现了【智子】
javascript
触底反弹19 小时前
🚀 20 行代码手写前端路由 + React Router 核心 API 一篇搞定!
前端·javascript·react.js