js在 new一个对象之后做了什么事情
时间: 2024-05-25 18:15:11 浏览: 7
好的,我了解了,针对您的问题,当使用js中的new关键字创建一个对象时,它会执行以下步骤:
1. 创建一个空对象
2. 设置该对象的__proto__指向构造函数的原型对象,使得新对象可以继承原型对象的属性和方法
3. 调用构造函数,将this指向新对象,这样构造函数内部的属性和方法都可以被添加到新对象上
4. 如果构造函数没有显式的返回值,则返回这个新对象。否则,返回构造函数指定的返回值
希望我的回答对您有所帮助。
相关问题
js new一个对象的过程
当你使用 `new` 关键字创建一个对象时,JavaScript 引擎会执行以下步骤:
1. 创建一个新的空对象。
2. 将这个空对象的 `__proto__` 属性指向构造函数的原型对象。
3. 将构造函数的 `this` 绑定到新创建的对象上。
4. 执行构造函数内部的代码,初始化对象的属性和方法。
5. 如果构造函数返回的是一个对象,那么这个对象将作为 `new` 表达式的值返回。否则,返回新创建的对象。
下面是一个简单的例子:
```javascript
function Person(name) {
this.name = name;
}
const person = new Person('John');
console.log(person.name); // 输出 "John"
```
在这个例子中,`new` 关键字创建了一个名为 `person` 的新对象,并将它作为 `this` 绑定到 `Person` 构造函数中。然后,构造函数执行,将 `name` 属性初始化为 "John"。最后,新创建的对象被返回并赋值给 `person` 变量。
jsnew一个对象
可以通过字面量方式或构造函数的方式来创建对象。
1. 字面量方式:
```javascript
const person = {
name: 'John',
age: 30,
gender: 'male'
};
```
2. 构造函数方式:
```javascript
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
const person = new Person('John', 30, 'male');
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)