js中的new做了什么?

创建js 对象的一种方式就是new ,那么new 究竟做了什么呢?


 
function Person () {
    this.name = name;
    this.age = age;
    this.sex = sex
 
    this.sayName = function () {
        return this.name;
    };
}
var person = new Person("bianbumei", 40-1, "famle");
 
console.log(person.name);

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

  1. 创建一个新对象
  2. 将新对象的proto指向构造函数的prototype对象
  3. 将构造函数的作用域赋值给新对象 (也就是this指向新对象)
  4. 执行构造函数中的代码(为这个新对象添加属性)
  5. 返回新的对象

你可能感兴趣的:(js中的new做了什么?)