关于new一个对象

我的理解:web

  new一个对象的时候,是在对象内建立一个this=this,而且return这个this;app

  shou=function(name, qq){函数

    //let this=new Object();  //new的时候系统自动this

    this.name=name;spa

    //return this;  //new的时候系统自动prototype

  }code

  let ar1=new shou('blue','32423534');orm

  alert(ar1.name)  //blue对象

摘要  blog

var a=new F()

这个时候,a就是F的一个实例,注意不要跟继承搞混淆了,这是实例化。此时new有三个做用

1.在构造函数内部声明一个临时对象this
2.在构造函数F中默认返回这个临时对象this,赋给a
3.将临时对象的_proto_指向F的prototype

用更生动的能够看下图

 

只要你在士兵前面使用 new 关键字,那么能够少作四件事情:

 1. 不用建立临时对象,由于 new 会帮你作(你使用「this」就能够访问到临时对象);

 2. 不用绑定原型,由于 new 会帮你作(new 为了知道原型在哪,因此指定原型的名字为 prototype);

 3. 不用 return 临时对象,由于 new 会帮你作;

 4. 不要给原型想名字了,由于 new 指定名字为 prototype。

 

var 士兵们 = [ ]  ;

for(var i=0; i<100; i++){

  士兵们.push(new 士兵(i))

}

 兵营.批量制造(士兵们)

 

更全可看:https://zhuanlan.zhihu.com/p/23987456?refer=study-fe

相关文章
相关标签/搜索