箭头函数this的指向
Posted guan-shan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了箭头函数this的指向相关的知识,希望对你有一定的参考价值。
看完这篇文章包你会做所有箭头函数this的指向问题
在ES6书中说道this的指向指向定义时候的对象,怎么理解他的这句话呢?废话不多说,直接上代码
var id = 1; var obj = { id:2, fn:()=>{ console.log(this.id) } } obj.fn()
谁定义箭头函数,是obj,那我们就看看this.obj的this指向就可以了很明显是window,所以这里箭头函数的this指向指向window
再看一道题
function foo(){ setTimeout(()=>{ console.log(this.id) }) } var id = 1; var obj = { id:2, foo } obj.foo()
谁定义了箭头函数,是setTimeout,那this.setTimeout的this直线也就是foo这个普通函数的this指向,那还不简单?普通函数的this指向调用他的对象,谁调用了他是obj,所以this指向为obj,答案为2
你学会了吗
以上是关于箭头函数this的指向的主要内容,如果未能解决你的问题,请参考以下文章