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>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM