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.将初始化完毕的新对象地址,保存到等号左边的变量中

相关文章
|
2月前
|
C语言
C语言操作符逻辑与,逻辑或面试真题(2)
C语言操作符逻辑与,逻辑或面试真题(2)
|
2月前
|
程序员 C语言 C++
C语言操作符if语句好习惯 详解分析操作符(详解4)
C语言操作符if语句好习惯 详解分析操作符(详解4)
|
1月前
|
编译器 C语言
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)二
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)二
29 3
|
1月前
|
存储 编译器 C语言
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)一
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)一
22 1
|
7月前
|
人机交互 C语言
拿捏c语言循环
拿捏c语言循环
25 0
new操作符具体干了什么呢?
new操作符具体干了什么呢?
|
自然语言处理 编译器 Linux
C++ 函数重载:女友说的话到底是什么意思?
C++ 函数重载:女友说的话到底是什么意思?
92 0
C++ 函数重载:女友说的话到底是什么意思?
|
存储 编译器 Linux
0基础C语言保姆教程——第六节 操作符、表达式和语句
加法或者减法都是双目操作符,就是必须要求有两个操作对象才能够用它,这也很好理解,加法、减法要两个数才能加减对吧。
111 0
0基础C语言保姆教程——第六节 操作符、表达式和语句
|
存储 编译器 C语言
|
JavaScript 前端开发
每日一题:说说new操作符具体干了什么?
每日一题:说说new操作符具体干了什么?
106 0
每日一题:说说new操作符具体干了什么?