美文网首页
new过程发生了什么

new过程发生了什么

作者: 小漠穷秋 | 来源:发表于2017-11-15 20:06 被阅读0次
  1. 创建空对象;
      var obj = {};

  2. 设置新对象的constructor属性为构造函数的名称,设置新对象的proto属性指向构造函数的prototype对象;
      obj.proto = ClassA.prototype;
    扩展了新对象的原型链。

  3. 使用新对象调用函数,函数中的this被指向新实例对象:
      ClassA.call(obj);  //{}.构造函数();

4.返回this指针。当存在显示的返回时,返回return后面的内容。新建的空对象作废。

function test() {
this.name = "test";
}
test.prototype = {
a:{},
b:{}
}

var c = new test();

相关文章

网友评论

      本文标题:new过程发生了什么

      本文链接:https://www.haomeiwen.com/subject/hvepmxtx.html