首页 > 编程语言 > 详细

【进阶3-2期】JavaScript深入之重新认识箭头函数的this(转)

时间:2018-12-14 10:02:57      阅读:148      评论:0      收藏:0      [点我收藏+]

这是我在公众号(高级前端进阶)看到的文章,现在做笔记

https://github.com/yygmind/blog/issues/21

上篇文章详细的分析了各种this的情况,看过之后对this的概念就很清晰了,没看过的去看看。

我们知道this绑定规则一共有5种情况:

  • 1、默认绑定(严格/非严格模式)
  • 2、隐式绑定
  • 3、显式绑定
  • 4、new绑定
  • 5、箭头函数绑定

其实大部分情况下可以用一句话来概括,this总是指向调用该函数的对象

但是对于箭头函数并不是这样,是根据外层(函数或者全局)作用域(词法作用域)来决定this。

对于箭头函数的this总结如下:

  1. 箭头函数不绑定this,箭头函数中的this相当于普通变量。

  2. 箭头函数的this寻值行为与普通变量相同,在作用域中逐级寻找。

  3. 箭头函数的this无法通过bind,call,apply来直接修改(可以间接修改)。

  4. 改变作用域中this的指向可以改变箭头函数的this。

  5. eg. function closure(){()=>{//code }},在此例中,我们通过改变封包环境closure.bind(another)(),来改变箭头函数this的指向。

题目1

 

【进阶3-2期】JavaScript深入之重新认识箭头函数的this

【进阶3-2期】JavaScript深入之重新认识箭头函数的this(转)

原文:https://www.cnblogs.com/zhaobao1830/p/10117603.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!