本篇文章给大家分享的是有关JS构造函数中this和return的区别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
先看一段代码,
function Foo(name,age){
this.name=name;
this.age=age;
}
var foo=new Foo("Tom",14);
foo.name;//Tom
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语句的返回值。
以上就是JS构造函数中this和return的区别是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。