详解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,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言小编会及时回复大家的!
相关文章
jquery ajax应用中iframe自适应高度问题解决方法
很多管理系统中,都使用iframe进行信息内容的展示方式,或者作为主菜单的链接展示内容。使用iframe的问题就是自适应高度的问题2014-04-04elemetUi 组件--el-upload实现上传Excel文件的实例
这篇文章主要介绍了elemetUi 组件--el-upload实现上传Excel文件的实例的相关资料,希望通过本文大家能够实现这样的功能,需要的朋友可以参考下2017-10-10
最新评论