JS new之后发生了什么?

例如,以下代码创建了一个名为 Person 的构造函数。

function Person(name, age) {
    this.name = name;
    this.age = age;
    this.sayHello = function() {
        console.log("Hello, my name is " + this.name + ", I'm " + this.age + " years old.");
    };
}

要使用 new 运算符创建一个 Person 对象,可以这样写:

const obj = new Person("Alice", 20);

new Person() 会执行如下步骤:
1、创建一个新的空对象 obj;
2、将 obj 的原型链指向 Person.prototype;
3、执行 Person 函数,并且将 obj 绑定到 this 上下文,因此 this 引用了 obj;
4、返回 obj 对象。
5、通过这个过程,我们可以创建一个新的对象并且将其属性、方法与一个构造函数实例绑定在一起,方便进行对象方法的调用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。