new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。 ——(来自于MDN)

 new 做了什么?

  • 1、访问到构造函数里的属性
  • 2、访问到原型里的属性

思路

  1. 新生成了一个对象
  2. 链接到原型
  3. 绑定 this
  4. 返回新对象

在调用new的过程中会发生以上四件事情,我们也可以试着来自己实现一个new

看看下面的执行结果就能明白

 let Con = [].shift.call(arguments)

这里补充一个小贴士:

JS运行的时候,会有栈内存(stack)和堆内存(heap),当我们用new实例化一个类的时候,这个new出来的对象就保存在heap里面,而这个对象的引用则存储在stack里。程序通过stack里的引用找到这个对象。例如var a = [1,2,3];,a是存储在stack里的引用,heap里存储着内容为[1,2,3]的Array对象。

参考

JS | InterviewMap​yuchengkai.cn

【进阶3-5期】深度解析 new 原理及模拟实现 · Issue #24 · yygmind/blog​github.com

new 实例化对象是啥意思_new 关键字、实现一个new相关推荐

  1. 【Java面试题】3 Java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?超详细解析...

    /*  * 问题:使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变  * 答:  * 使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以 ...

  2. 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

    使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的.

  3. 用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变

    使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变 答: 使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的. 代码 public ...

  4. python3有多少个关键字排序_python3 数据结构和算法-- 通过某个关键字排序一个字典列表...

    通过某个关键字排序一个字典列表 问题 你有一个字典列表,你想根据某个或某几个字典字段来排序这个列表. 解决方案 通过使用 operator 模块的 itemgetter 函数,可以非常容易的排序这样的 ...

  5. 《Python Cookbook 3rd》笔记(1.13):通过某个关键字排序一个字典列表

    通过某个关键字排序一个字典列表 问题 你有一个字典列表,你想根据某个或某几个字典字段来排序这个列表. 解法 通过使用 operator 模块的 itemgetter 函数,可以非常容易的排序这样的数据 ...

  6. new 实例化对象是啥意思_前端经典面试题解密:JS的new关键字都干了什么?

    写在前面: new关键字在实例化获取对象时都做了什么?是一道经常出现在前端面试时的问题.如果只是简单的了解new关键字是实例化构造函数获取对象,是万万不能够的.更深入的层级发生了什么呢?同时面试官想从 ...

  7. Java中实例化对象是什么意思

    Java中什么是实例化 在Java语言中使用new关键字创建/构造对象的过程叫做类的实例化,该过程的本质,会在内存空间的堆区申请一块存储区域,用于记录该对象独有的成员变量信息. 通俗点就是,实例化:使 ...

  8. new 实例化对象是啥意思_二. 初步认识JS中的类和对象

    1 构造函数的定义 在JS中, 没有类(class)的概念, 主要是通过构造函数来模拟的. 语法 function 构造函数名 () {// 函数体} 使用function关键字表示定义一个构造函数 ...

  9. python实例化对象是什么意思_请帮我理解python对象的实例化.

    我不是程序员,我正在尝试学习python.但我对对象实例化有点困惑.我认为Class就像模板一样,对象是基于模板制作(或实例化).这是否意味着一旦创建了对象(例如,classinst1 = MyCla ...

最新文章

  1. Eclipse编译运行Native代码步骤详解
  2. 火币网行情获取的websocket客户端
  3. unity的自带特性
  4. Dojo中跨域获取新浪股票接口返回的数据(练习)
  5. 初始java_第一章__初始JAVA
  6. Appium 解决微信公众号、小程序切换 webview 后无法定位元素的问题
  7. 将图的广度优先遍历在邻接矩阵和邻接表存储结构上分别实现_《青岛大学-王卓-数据结构》B站学习...
  8. Log_Analysis_using_OSSEC.md
  9. Juniper MIP
  10. 安卓项目连接后台服务器,android云后端服务器
  11. 信息化建设规划制定的难点及关键点分析
  12. 高德地图3D离线定位
  13. LLVM LLD COFF格式分析
  14. git 撤销单个文件到某个提交
  15. 域帐号密码快过期邮件提醒
  16. DAO层,Service层,Controller层的作用
  17. Redis 6.0删除节点
  18. JMeter察看结果树响应数据都是相同原因
  19. [线性dp]leetcode2327:知道秘密的人数(medium)
  20. Jenkins服务器实战-臧雪园-专题视频课程

热门文章

  1. docker 删除包含关键字的镜像_30分钟带你轻松掌握Docker原理
  2. C++ 偏微分数值计算库_Windows下RTCGAToolbox库下载TCPA数据(RPPA)学习笔记
  3. unittest-读取yaml文件
  4. C++根据输入日期YYYY-MM-DD判断是否星期几
  5. python list,str的拼接与转换
  6. 白盒测试 | 用例设计方法之条件覆盖
  7. 一、SQL语法——4-数据库约束
  8. codevs4203山区建小学
  9. 什么是JSONP以及它是怎么产生的
  10. 《吴恩达深度学习》第一课第四周任意层的神经网络实现及BUG处理