我保证,超级超级简单的弄明白this指向

首先盗张图,来源:图解javascript this指向什么?

完。
好吧,其实我想介绍的是setTimeout和this之间的故事,也可以加深this的理解:)

obj={
    a:1,
    fn:function(){console.log(this.a)}//执行obj.fn()时打印1,此时this为obj。
}

obj={
    a:1,
    fn:function(){setTimeout(console.log(this.a),1000)}//执行obj.fn()时还是打印1,此时this为obj。
}
obj={
    a:1,
    fn:function(){setTimeout(function(){console.log(this.a)},1000)}//执行obj.fn()时还是打印undefined,此时this为window。
}

END

发表评论

电子邮件地址不会被公开。 必填项已用*标注