码迷,mamicode.com
首页 > 其他好文 > 详细

当this碰到return会发生什么

时间:2020-05-26 15:28:25      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:就是   use   turn   情况   div   ram   返回   asc   func   

当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会发生什么

标签:就是   use   turn   情况   div   ram   返回   asc   func   

原文地址:https://www.cnblogs.com/fuzhengyi/p/12965475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!