详解JS构造函数中this和return


Posted in Javascript onSeptember 16, 2017

先看一段代码,

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,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言小编会及时回复大家的!

Javascript 相关文章推荐
IE6 fixed的完美解决方案
Mar 31 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
Apr 25 Javascript
javascript判断并获取注册表中可信任站点的方法
Jun 01 Javascript
JQuery实现Ajax加载图片的方法
Dec 24 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
Sep 05 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
Nov 16 Javascript
js+html制作简单验证码
Feb 16 Javascript
bootstrap modal+gridview实现弹出框效果
Aug 15 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
May 16 Javascript
Node.js操作系统OS模块用法分析
Jan 04 Javascript
微信小程序websocket聊天室的实现示例代码
Feb 12 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
Dec 19 Javascript
Angular使用Md5加密的解决方法
Sep 16 #Javascript
使用JS实现气泡跟随鼠标移动的动画效果
Sep 16 #Javascript
EasyUI创建人员树的实例代码
Sep 15 #Javascript
webpack构建react多页面应用详解
Sep 15 #Javascript
详解Vue中一种简易路由传参办法
Sep 15 #Javascript
JavaScript实现换肤功能
Sep 15 #Javascript
jQuery实现火车票买票城市选择切换功能
Sep 15 #jQuery
You might like
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
PHP之生成GIF动画的实现方法
2013/06/07 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
小程序最新获取用户昵称和头像的方法总结
2019/09/23 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
Python实现从百度API获取天气的方法
2015/03/11 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
Django工程的分层结构详解
2019/07/18 Python
tensorflow 重置/清除计算图的实现
2020/01/19 Python
python绘制玫瑰的实现代码
2020/03/02 Python
Django实现任意文件上传(最简单的方法)
2020/06/03 Python
英格兰足协官方商店:England Store
2019/07/12 全球购物
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
大学生冰淇淋店商业计划书
2014/01/14 职场文书
人事任命书怎么写
2014/06/05 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
基于Redis过期事件实现订单超时取消
2021/05/08 Redis
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python