new 操作符具体干了什么呢?

简介: new 操作符具体干了什么呢?

样本一

new 共经过了 4 几个阶段

  • 1、创建一个空对象
  • 2、设置原型链
  • 3、让 Func 中的 this 指向 obj,并执行 Func 的函数体
  • 4、判断 Func 的返回值类型:

样本二

 
function Test(){}
const test = new Test()

1.创建一个新对象:

 
const obj = {}

2.设置新对象的 constructor 属性为构造函数的名称,设置新对象的__proto__属性指向构造函数的 prototype 对象

 
obj.constructor = Test
obj.__proto__ = Test.prototype

3.使用新对象调用函数,函数中的 this 被指向新实例对象

 
Test.call(obj)

4.将初始化完毕的新对象地址,保存到等号左边的变量中

相关文章
|
6月前
|
程序员 C语言 C++
C语言操作符if语句好习惯 详解分析操作符(详解4)
C语言操作符if语句好习惯 详解分析操作符(详解4)
|
6月前
|
C语言
C语言操作符逻辑与,逻辑或面试真题(2)
C语言操作符逻辑与,逻辑或面试真题(2)
|
6月前
|
Java
探索Java世界的奇妙工具——运算符与表达式运算符
探索Java世界的奇妙工具——运算符与表达式运算符
32 0
|
5月前
|
编译器 C语言
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)二
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)二
50 3
|
5月前
|
存储 编译器 C语言
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)一
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)一
41 1
|
Java 数据安全/隐私保护
Java语法之运算符二(附练习和答案)
Java语法之运算符二(附练习和答案)
134 0
|
存储 编译器 C语言
初阶C语言 第四章-------《操作符》 (逻辑操作符,算术操作符,逗号表达式,三目操作符)知识点+基本练习题+深入细节+通俗易懂+完整思维导图+建议收藏
初阶C语言 第四章-------《操作符》 (逻辑操作符,算术操作符,逗号表达式,三目操作符)知识点+基本练习题+深入细节+通俗易懂+完整思维导图+建议收藏
|
JavaScript 前端开发
每日一题:说说new操作符具体干了什么?
每日一题:说说new操作符具体干了什么?
133 0
每日一题:说说new操作符具体干了什么?
|
存储 编译器 C语言