深入了解JavaScript中的new操作符
开头先用简单的一句话介绍一下new
new 运算符用于创建对象的实例
前言
new操作符在执行过程中会改变this的指向,所以在了解new操作符之前,我们先熟悉一下this。
1 |
|
我们并没有return任何信息,输出的结果中包含了name与age的信息。这就是this的作用了。
在JavaScript中,如果函数没有return值,则默认return this。上面代码中的this实际为Cat空对象,后两句就相当于给Cat对象添加name和age属性。
new的时候发生了什么
我们先来看看下面这行简单的代码,该代码的作用是通过new操作符生成一个Cat对象的实例。
1 |
|
从表面上看这行代码的主要作用是创建一个Cat对象的实例,并将这个实例值赋予cat变量,cat变量就会包含Cat对象的属性和函数。其实,new操作符做了3件事情,如下代码所示:
1 |
|
手动实现一个new
1 |
|
深入了解JavaScript中的new操作符
https://xypecho.github.io/2022/11/23/深入了解JavaScript中的new操作符/