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

箭头函数this的指向

时间:2019-04-08 18:49:03      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:简单   color   ons   箭头   settime   pre   调用   function   怎么   

看完这篇文章包你会做所有箭头函数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的指向

标签:简单   color   ons   箭头   settime   pre   调用   function   怎么   

原文地址:https://www.cnblogs.com/guan-shan/p/10672338.html

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