js-----new一个对象的过程

使用new关键字调用函数(new Person(…))的具体步骤:

1. 创建空对象;
  var obj = {};

2. 完成原型链的构建
  • 将所创建对象的__proto__属性值设为构造函数的prototype的属性值,,即指向构造函数的原型对象

  设置新对象的constructor属性为构造函数的名称,设置新对象的__proto__属性指向构造函数的prototype对象;
  obj.__proto__ = Person.prototype;

3.执行构造函数中的代码,构造函数中的this指向new出对象4. 返回对象,并赋给等号左边的变量


注意:若构造函数中返回this或返回值是基本类型(number、string、boolean、null、undefined)的值,则返回新实例对象;

若返回值是引用类型的值,则实际返回值为这个引用类型。

 

<script>
  function Person(name, age) {
    this.name = name;
    this.age = age;
  }
  Person.prototype.eate = function () {
    return this.name + "在吃饭"
  }

  var p1 = new Person("小明", 18);
  alert(p1.eate())
</script>
posted @ 2019-02-19 11:44  SRH啦  阅读(2739)  评论(0编辑  收藏  举报