构造函数中this,return的详解

2018-06-24 00:14:52来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

1 function Foo(name,age){
2      this.name=name;
3      this.age=age;
4 }
5  
6 var foo=new Foo("Tom",14);
7 foo.name;//Tom
8 foo.age;//14

使用构造函数实例化发生的流程:

1.建立一个foo的空对象。

2.将构造函数中的Foo的this指向对象foo。

3.foo的_proto_属性指向Foo函数的prototype原型。

4.执行构造函数中的代码。

相对于普通函数,构造函数中的this是指向实例的,而普通函数调用中的this是指向windows的。

 

构造函数中如果加入了return的话,分两种情况

function Foo(name,age){
     this.name=name;
     this.age=age;
     return {name:"Jeff"}
}
  
var foo=new Foo("Tom",14);
foo.name;//Jeff

1.return的是五种简单数据类型:String,Number,Boolean,Null,Undefined。
这种情况下,忽视return值,依然返回this对象。

2.return的是Object。
这种情况下,不再返回this对象,而是返回return语句的返回值。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:深入理解继承

下一篇:使用Ajax无刷新页面登录