当this碰到return会发生什么

Posted fuzhengyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当this碰到return会发生什么相关的知识,希望对你有一定的参考价值。

当this碰到return时

function fn(params) {
    this.user = ‘fzy‘
    return {}
}
var a = new fn
console.log(a.user)//undefined

function fn2(params) {
    this.user = ‘fzy‘
    return function(){}
}
var b = new fn2
console.log(b.user) //undefined

function fn3(){
    this.user = ‘fzy‘
    return undefined
}
var c = new fn3
console.log(c.user)//fzy

  如果返回值是一个对象,那么this指向的就是那个返回的对象,如果返回值不是一个对象那马this还是指向函数的实例。

  特殊情况,null也是对象,但是在这里this还是指向那个函数的实例,因为null比较特殊

function fn4() {
    this.user = ‘fzy‘
    return null
}
var d = new fn4
console.log(d.user) //fzy

  

以上是关于当this碰到return会发生什么的主要内容,如果未能解决你的问题,请参考以下文章

类成员函数调用delete this会发生什么呢?

在片段部分使用YoutubePlayerView

如何取消订阅RxKotlin / RxJava中的Flowable?

为啥 recyclerview$adapter 在片段中为空

在 React 组件中多次使用 this.setState 会发生啥?

片段管理访问错误可见 return false