【JavaScript】 当this遇上return
来源:互联网 发布:移动数据怎么改dns 编辑:程序博客网 时间:2024/05/20 12:22
参考地址
当this碰到return时,会出现一些小问题。
function fn() { this.user = '啊啊'; return {}; }var a = new fn; console.log(a.user); //undefined
function fn() { this.user = '啊啊'; return function(){};}var a = new fn; console.log(a.user); //undefined
function fn() { this.user = '啊啊'; return 1;}var a = new fn; console.log(a.user); //啊啊
function fn() { this.user = '啊啊'; return undefined;}var a = new fn; console.log(a.user); //啊啊
为什么呢?
如果返回值是一个对象,那么 this 指向的就是那个返回的对象,如果返回值不是一个对象那么 this 还是指向函数的实例。
null 虽然也是对象,但是在下面代码中,this指向的依旧是那个函数实例。因为null比较特殊。
function fn() { this.user = '追梦子'; return null;}var a = new fn; console.log(a.user); //追梦子
0 0
- 【JavaScript】 当this遇上return
- 当finally遇上了return
- 当for循环遇上return
- 当try catch遇上return
- 当JavaScript遇上UINT64
- 当try/catch...finally遇上return
- 当管理者遇上技术
- 当Hibernate遇上Spring
- 当 Hibernate 遇上 Spring
- 当Hibernate遇上Spring
- 当美女遇上变形金刚
- 当黑客遇上菜鸟
- 当GPL遇上MP
- 当 Hibernate 遇上 Spring
- 当爱情遇上房子
- 当挖掘遇上分布式
- 当Maven遇上MyEclipse
- 当vim遇上C++
- Kafka踩坑 - Couldn't find leaders for Set
- iOS 获得系统当前日期
- Oracle命令(三):Oracle要点
- ML-1640/1641驱动
- Spin lock 与mutex 的区别
- 【JavaScript】 当this遇上return
- PCA数学原理
- [学习笔记] bootstrap(七): 分页
- 70. 打印所有Spring boot载入的bean
- ReactNative入门之编写HelloWorld
- 简单的加密系统(位运算)
- DB2 命令不求人
- 动画
- WEB前端学习路线