vue 执行函数this_vue中this指向小记

博客探讨了在Vue环境中,this的指向问题。在普通函数中,this由调用方式决定,而在箭头函数中,this在定义时即被绑定。文章指出,当在Vue的方法中使用箭头函数时,由于箭头函数不创建自己的this上下文,导致其this指向全局window,而非Vue实例。相比之下,常规函数在Vue方法中会保持正确的this指向,即Vue实例本身。

普通函数中的的this指向取决于运行该函数的作用域,而箭头函数的this是定义时就固定了。

然而在vue中有一事不明:

惊喜点击
惊喜点击1

var app=new Vue({                el:"#app",                data:{

},                methods:{                    onSurprise:()=>{                        console.log('箭头函数的'+this)

},                    onSurprise1:function(){                        console.log(this)

}

}

})        

分别点击控制台输出

箭头函数绑定的是window,而运行时的函数的作用域是vue

仔细想想好像也对,函数运行时是通过'app.函数名'调用的,所以onSurprise1的this指向app,而app是vue的实例。对于箭头函数,onSurprise是在全局window下定义的,所以this指向window。

作者:fenerchen

链接:https://www.jianshu.com/p/3eabf16aee10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值