js中new实例化对象内部过程

function Person () {
     
    this.name = name;
    this.age = age;
    this.job = job;
 
    this.sayName = function () {
     
        return this.name;
    };
}
 
var person = new Person("tom", 21, "WEB");
 
console.log(person.name);

使用关键字new创建新实例对象经过了以下几步:

1、创建一个新对象,如:var person = {};

2、新对象的_proto_属性指向构造函数的原型对象prototype。

3、将构造函数的作用域赋值给新对象。(也所以this对象指向新对象)

4、执行构造函数内部的代码,将属性添加给person中的this对象。

5、返回新对象person。

你可能感兴趣的:(js中new实例化对象内部过程)