关于this指向?

1、默认指向window
2、有事件源的指向事件源
3、对象里的this指向对象本身
4、构造函数里的this指向实例化对象本身
5、箭头函数中的this指向函数创建时所在作用域的环境

怎么理解最后一句话:

        let obj={
            aaa:12,
            fun2:function(){
                console.log(this);  //this指向obj
            }
        }
        obj.fun2()

当我们把函数写法改成箭头函数:

        let obj={
            aaa:12,
            fun2:()=>{
            	//this创建时在全局作用域内,所以
          	    console.log(this);  //this指向window
            }
        }
        obj.fun2()

再看this的另一种写法

        let obj = {
            aaa: 12,
            fun1: function () {
            	//this创建时的作用域在fun1内,所以
                //等于把this写在这,所以this指向包含它的对象obj
                let obj2={
                    bbb:14,
                    fun2:()=>{
                        console.log(this)
                    }
                }
                return obj2
            }
        }
        obj.fun1().fun2()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值