js7

New

js中new的作用是通过构造函数创建实例对象

1
2
3
function Foo(name){
this.name = name
}

new经历了什么过程

new帮我们做了4件事情:

  1. 帮我们创建了空对象
  2. 把空对象的原型__ proto __ 指向了构造函数的原型对象
  3. 使用call方法, 将本来指向window的this改成了指向obj实例, 这样我们再去向构造函数传参时, 参数就会被挂载到实例上
  4. 返回对象