详解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 相关文章推荐
父节点获取子节点的字符串示例代码
Feb 26 Javascript
js实现图片拖动改变顺序附图
May 13 Javascript
实例解析jQuery中proxy()函数的用法
May 24 Javascript
详解Bootstrap的iCheck插件checkbox和radio
Aug 24 Javascript
Angular的自定义指令以及实例
Dec 26 Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
Mar 06 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
Apr 23 Javascript
vue生成token并保存到本地存储中
Jul 17 Javascript
JS实现的贪吃蛇游戏完整实例
Jan 18 Javascript
vue+element+Java实现批量删除功能
Apr 08 Javascript
Vue可自定义tab组件用法实例
Oct 24 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 extract 将数组拆分成多个变量的函数
2010/06/30 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
js中call()和apply()改变指针问题的讲解
2019/01/17 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
python读取word文档的方法
2015/05/09 Python
在Python的Django框架中加载模版的方法
2015/07/16 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
python自动识别文本编码格式代码
2019/12/26 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
Weblogic的布署方式
2013/08/23 面试题
优秀交警事迹材料
2014/01/26 职场文书
小班重阳节活动方案
2014/02/08 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
2015年社区工会工作总结
2015/05/26 职场文书
安全教育主题班会总结
2015/08/14 职场文书
Redis数据结构之链表与字典的使用
2021/05/11 Redis
一文搞懂Python Sklearn库使用
2021/08/23 Python
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python