zoukankan      html  css  js  c++  java
  • 当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
    

      

  • 相关阅读:
    SQL中的union
    SQL的类型转换
    Keytool生成证书
    Openssl生成证书
    Python示例-Json Parse
    Python示例-TCP Port Scan
    Python套接字
    TCP端口扫描
    Linux环境变量
    Python示例-Logging
  • 原文地址:https://www.cnblogs.com/fuzhengyi/p/12965475.html
Copyright © 2011-2022 走看看