先总结一下就是new操作符的原理是通过创建一个空对象、将this关键字指向新对象、执行构造函数代码和返回新对象的方式来创建对象实例。
一、基本概念:
new操作符是JavaScript中用于创建对象实例的一种操作符。通过使用new操作符,我们可以调用一个函数,并将其作为构造函数来创建一个新的对象实例。
二、new操作符的工作原理:
- 创建一个空的简单JavaScript对象(即{})。
- 链接该对象(即设置该对象的构造函数)到另一个对象 prototye 属性。
- 执行构造函数函数,传入新的对象作为this引用。
- 如果构造函数返回一个对象,则返回这个对象;我们可以在代码中使用这个新对象。否则,返回步骤1创建的对象。
三、示例说明:
//定义一个构造函数
function Person(name,age) {
this.name = name;
this.age = age;
}
// 使用new操作符创建一个实例
var person = new Person('kang', 20);
在上面的示例中,new操作符首先会创建一个空对象,并将其继承自构造函数Person的原型对象。然后,它会将构造函数Person中的this指向这个新对象。接着,new操作符会执行构造函数中的代码,将name和age属性添加到新对象中。最后,new操作符会返回这个新对象,使我们可以将其赋值给变量person。