js中的new都做了什么
时间: 2023-06-05 08:07:43 浏览: 69
当我们在 JavaScript 中使用 `new` 关键字去创建一个新的对象时,它会做以下几个操作:
1. 创建一个空的对象;
2. 将这个空的对象的原型(`__proto__`)属性指向构造函数的原型(`prototype`)对象;
3. 将这个空的对象作为 `this` 关键字传递给构造函数中,执行构造函数中所写的代码,对对象进行初始化,并对 `this` 上的属性和方法进行赋值操作;
4. 如果构造函数中没有显式 return 语句,或者 return 语句返回一个非对象类型值,则返回这个对象。如果有 return 语句并且返回一个对象类型值,则返回这个对象类型值。
总的来说,`new` 关键字主要用于创建一个新的对象,并且在创建过程中自动绑定该对象的原型(`__proto__`)属性到构造函数的原型(`prototype`)属性上,从而实现了对象的继承。
相关问题
js中new的创建过程做了什么
当使用new关键字创建一个对象时,JavaScript引擎会执行以下步骤:
1. 创建一个新对象。
2. 将新对象的原型设置为构造函数的prototype属性。
3. 将构造函数的this指向新对象。
4. 执行构造函数内部的代码,初始化新对象的属性和方法。
5. 如果构造函数返回一个对象,则返回该对象;否则返回新对象。
这就是JavaScript中使用new关键字创建对象的过程。
js中new Array
在JavaScript中,可以使用`new Array()`来创建一个新的数组对象。这种方式会创建一个空数组,你可以在后续的代码中添加元素到这个数组中。例如:
```javascript
let myArray = new Array();
myArray.push("元素1");
myArray.push("元素2");
console.log(myArray); // 输出: ["元素1", "元素2"]
```
另外,你也可以使用数组字面量表示法`[]`来创建一个数组,这种方式更常见和简洁。例如:
```javascript
let myArray = [];
myArray.push("元素1");
myArray.push("元素2");
console.log(myArray); // 输出: ["元素1", "元素2"]
```
这两种方式都可以创建一个新的数组对象,你可以根据自己的需求选择使用哪一种。