JS new过程发生了什么?
时间: 2024-05-11 07:13:52 浏览: 9
在JavaScript中,使用关键字new创建一个新对象的过程称为new过程。具体发生了以下几个步骤:
1. 创建一个新对象
2. 设置该对象的原型指向构造函数的原型对象
3. 将构造函数的this指向新对象
4. 执行构造函数内部的代码,给新对象添加属性和方法
5. 如果构造函数返回一个对象,则返回该对象,否则返回新对象
例如,以下代码演示了创建一个新对象的过程:
```
function Person(name, age) {
this.name = name;
this.age = age;
}
const person1 = new Person('Alice', 25);
```
在这个例子中,使用new关键字创建了一个新对象person1。在new过程中,Person函数作为构造函数被调用,this指向了新对象person1,执行了函数内部的代码,将属性name和age添加到了person1对象中,并最终返回了新对象person1。
相关问题
jsnew过程发生了什么?
首先需要说明的是,"jsnew"并不是 JavaScript 中的一个标准术语,而是一种常见的命名方式,用于描述创建对象的过程。
在 JavaScript 中,创建对象的方式有很多种,其中一种常见的方式是使用构造函数。当使用构造函数创建对象时,实际上发生了以下几个过程:
1. 创建一个新的对象。
2. 将新对象的原型指向构造函数的原型。
3. 将构造函数中的 this 指向新对象。
4. 执行构造函数中的代码,对新对象进行初始化。
5. 返回新对象。
下面是一个简单的例子:
```
function Person(name, age) {
this.name = name;
this.age = age;
}
var p = new Person('Tom', 18);
```
在上面的例子中,当执行 new Person('Tom', 18) 时,就会发生以上的步骤:
1. 创建一个新的对象 p。
2. 将 p 的原型指向 Person 的原型。
3. 将构造函数 Person 中的 this 指向 p。
4. 执行构造函数中的代码,将 name 和 age 赋值给 p。
5. 返回 p。
最终,p 就是一个由 Person 构造函数创建的对象。
js new 一个类的过程中发生了什么
在使用JavaScript中new关键字创建一个类的过程中,发生了几件事情。首先,会新建一个空对象,该对象会继承自类的原型对象。然后,会将这个空对象赋值给类内部的this关键字,即这个空对象就是类实例对象。接着,会执行类内部的构造函数,同时将类实例对象作为构造函数的上下文(即函数内部的this关键字)进行调用。最后,如果构造函数没有返回其他对象,那么new表达式中的类调用就会自动返回这个类实例对象。