new操作符创建对象的四个步骤

new操作符创建对象可以分为以下四个步骤:

  • 创建一个空对象
  • 将所创建对象的__proto__属性值设为构造函数的prototype的属性值
  • 执行构造函数中的代码,构造函数中的this指向该对象
  • 返回对象

因此上面的过程就可以等同于下面的过程:

    var Person = function(name, age) {
        this.name = name;
        this.sex= sex;
    };
    Person.prototype.show = function() {
        console.log(this.name, this.sex);
    };
    var obj = {};
    obj.__proto__ = Person.prototype;
    Person.call(obj, "xiao", 20);
    // var obj = new Person("xiao", 20);
    console.log(obj);
posted @ 2020-08-20 09:58  子墨ml  阅读(1303)  评论(0)    收藏  举报